• ベストアンサー

累乗のプログラム

以下は、整数iの1乗からj乗まで求めるJAVAの累乗プログラムです。 int i=3, j=5; int n, kekka=1; for(n=1;n<=j;n ){ kekka=kekka*i; System.out.println(i "の" n "乗は," kekka "です."); } この2行目と4行目のkekkaの含まれる式の意味が全く分からないのですが、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>2行目と4行目のkekkaの含まれる式の意味 >2行目 「kekka」に「1」の初期値を代入。 >4行目 for文で「j」回ループするので、「kekka」に「i」を「j」回分 乗算しています。 実際に変数の値を予想してみて下さい。 「kekka」の初期値:「1」 for文 1回目:「kekka=kekka*i;」→「kekka=1*3」→「kekka=3」 for文 2回目:「kekka=kekka*i;」→「kekka=3*3」→「kekka=9」 for文 3回目:「kekka=kekka*i;」→「kekka=9*3」→「kekka=27」 for文 4回目:「kekka=kekka*i;」→「kekka=27*3」→「kekka=81」 for文 5回目:「kekka=kekka*i;」→「kekka=81*3」→「kekka=243」 この結果から「kekka」の初期値が「1」である必要があると分かりますか?

JZ302
質問者

お礼

ご回答ありがとうございました。forで繰り返されているんですね?kekkaが1なのは1乗から始まるからですか?

その他の回答 (1)

回答No.2

>kekkaが1なのは1乗から始まるからですか? 違います、強いて言うなら「"この場合"はゼロ乗から始まっている」となります。 (for文で どんどん乗算"だけ"していく場合(式に「足し算、引き算」などが入ってない場合)は「kekka」の初期値に「0」が代入されると、いくら乗算しても「0」ですので)「0」以外の適切な値が必要になります、この場合の適切な値が(ゼロ乗の)「1」となります。

JZ302
質問者

お礼

分かりました。ありがとうございました。

関連するQ&A