2016-03-24 7 views
-2

私は大学で以下のコードを与えられました。すぐにそれが何をしているのか、そして実行の最後にxの値がnの関数として何か、誰かが私を助けてくれることを願っています。次のコードは何をしますか?

x = 0; 
for(int i = n; i > 1; i--) { 
    for(int j = 1; j < i; j--) { 
     x +=5; 
    } 
} 

おかげ

+0

(INT J = 1; jは user2260040

+0

インストラクターがあなたの仕事(私たちではない)を見たいので、あなたは課題を与えられました。あなたはそれを自分で行うべきです。あなたがそれを理解できない場合は、インストラクターに援助を依頼してください。彼らはあなたに必要な知識を提供する仕事をまだやっていないか、授業中に慎重ではなかったのでしょうか。がんばろう。 –

+0

@ user2260040 ohh私の間違いだったので、編集しました –

答えて

1

ので、ちょうど手でそれを実行した場合

(私はあなたの代わりに「j--」の「J ++を」書き、無限ループで終わるない?するためのものと仮定します)。

外側のループは、整数を超えて、nから2まで(2を含む)iで反復処理します。

ループの各繰り返しで、内側ループは、1からi-1までの整数にわたってjで反復処理します。

J = 1、2、 - 1

次いで、各

J = 1、2、... N:従って、xはそれぞれについて5インクリメントされる

... N - 2、その後

など、

...

まで、

J = 1

私は間違っていないならば、それはn個です*(N - 1)合計

/2回の反復(参照:等差数列)

がN(最終的

X == 5×n個*を与えるために - 1)/ 2

例えば用のn = 3:

X == 15

「HTHため

0
for(int i = n; i > 1; i--) { 
for(int j = 1; j < i; j--) { 

ので、私> 1とj = 1; j < i; j--。 jは常にiより小さくなるため、無限ループになります。

関連する問題