1

ループやネストされたループにループがある場合は、プログラミング言語に関係なく for ループとしましょう (もちろん命令型でなければなりません)。

for(int j = 1; j <= 100; j++){
  for(int k = 1; k <= 200; k++){
   \\body or terms
  }
}

i = 1 をすべて j = {1, 200} で合計し、i = 2 をすべて j = {1, 200} で合計したい場合、数学的に同等です。

ここに画像の説明を入力

そして、赤丸の条件は不要ですよね?

同じことが複数のネストされたループにも当てはまりますか?

4

2 に答える 2

3

提供したコードは、説明したとおりに実行されます

すべての j = {1, 200} で i = 1 を合計し、すべての j = {1, 200} で i = 2 などを合計します。

ただし、数学的に同等なのは、赤でマークされた条件がない場合です。

条件付きのシグマは、次のコードと同等です。

for(int j = 1; j <= 100; j++){
  for(int k = 1; k < j; k++){
   \\body or terms
  }
}

私が助けてくれることを願っています。

于 2015-05-07T21:24:48.553 に答える
1

シグマは合計の略です。つまり、範囲のシグマを扱っている場合、i=1,nとして定義されているx場合、結果は x * n (x + x + x + ... + x n回) になります。擬似コードに転写すると、次のようになります。

result = 0
for i=1,n:
     result = result + x

したがって、特定の回数または条件が満たされるまで、何かforについての一般的なループには実際には変換されません。doing

数学者がソフトウェア分野に直接関連するアルゴリズムを研究しているのを目にするとき、彼らはより柔軟な関数表記と再帰を総和よりもはるかに多く使用します。これは、そのような関数表記が実際には総和よりも一般的なループ計算にもう少し直接的に変換されるためです。

于 2015-05-07T21:38:52.263 に答える