-1

最も内側のループでステートメントが何回実行されるかを判断するのを手伝ってくれる人はいますか?

for(int i = 1; i <= n; i++)
    for(int j = 1; j <= n; j++)
        for(int k = j; k <= n; k++)
            //statement

この形式の問題にどのようにアプローチすればよいかよくわかりませんが、そのような問題に取り組むための思考プロセスを誰かが概説できれば、役に立つ演習になると思いました. ありがとうございました。

4

2 に答える 2

1

したがって、最初のループ ( を使用i) は、i <= nが true である間反復します。つまり、 の場合n >= 1、回反復nします。jループも同じ。これまでのところ、n * n反復があります。

3 番目のkループは少しトリッキーです。最初は からまでj実行されますが、次回は 2から まで実行され、 1 回だけ実行されます。平均して、それは反復です。1nj == nn/2

したがって、これによりn * n * (n+1)/2合計で反復が行われます。

于 2013-02-26T00:22:40.763 に答える
0

答えは n*n*(n+1)/2 です

読者の演習として残されている理由

于 2013-02-26T00:24:34.713 に答える