次のような(ネストされたループの)操作の数をカウントする方法について、誰かが私を助けてくれませんか:
for(int c=0; c<10; c++){
for(int j=0; j<n; j++)
for(int r=0; r<n; r++)
cout<<j;
cout<<endl;
}
正しいインデントは次のようになります。
for(int c=0; c<10; c++) {
for(int j=0; j<n; j++)
for(int r=0; r<n; r++)
cout<<j;
cout<<endl;
}
不足している中括弧を追加すると、次のようになります。
for(int c=0; c<10; c++) {
for(int j=0; j<n; j++) {
for(int r=0; r<n; r++) {
cout<<j;
}
}
cout<<endl;
}
これで、何回印刷されるかがはっきりとわかります。
(10 * n * n) + (10)
それは (ほぼ比例) になります。10n2
操作の定義方法によっては、正確ではありません。たとえば、改行の出力は10
数回しか発生しません。
したがって、操作がcout
ステートメントである場合、それは.10n2 + 10
n*n*10 + 10 ( と の両方が別の操作としてカウントされる場合std::cout << j
) std::cout << endl;
。
反復回数は
10 * n * n