• ベストアンサー

Java、2の0乗~10乗の表示

Javaのプログラムで 2の0乗~10乗までを改行表示したいのですが、for文を使って書かなければいけません。 まだ学んでいませんが累乗を計算する構文もあるようですが、それを使わずにfor文で2の0乗~10乗まで表示したいです。 1乗~10乗までは出来たのですが、0乗を含めることがどうしても出来ないので、回答お待ちしています。

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

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

補足に書かれているところまでできているんだったら、 (案1) int num = 1; System.out.println(num); // 2を掛ける前にprintlnする for(int i=0; i<10; i++){ num *= 2; System.out.println(num); } でいいと思います。 別にfor文の中でprintlnしなくても、 for文に入る前にprintlnしていいんでしょ? どうしてもfor文の中でprintlnしたいんだったら (案2) int num = 1; for(int i=0; i<=10; i++){ // 10までループする System.out.println(num); // 2を掛ける前にprintlnする num *= 2; } でもいいと思います。 この場合2の10乗まで表示したあと、 さらに2を掛けてからループ終了なので、 不必要な計算が入ります。 私は案1の方がスマートでわかりやすいと思います。

daiazu815
質問者

お礼

なるほど…どうしても2を0乗することにばかり考えが向いてしまって…単に1を最初に出力すれば良かったんですね。 ありがとうございました!

その他の回答 (2)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

考え方を工夫しましょう。 △ 「2の3乗」は「2を3回かける」こと ○ 「2の3乗」は「1に2を3回かける」こと

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

その「1乗~10乗までは出来た」ってプログラムはどう考えてどう書いたの?

daiazu815
質問者

補足

public class Main{ public static void main(String[] args){ int num = 1; for(int i=0; i<10; i++){ num *= 2; System.out.println(num); } } } すみません、こんな感じです。 numは1で初期化して、10回2をかけるまで繰り返したんですが…

関連するQ&A