解答は
- ホスト: earth.mlab.im.dendai.ac.jp
- ディレクトリ: /home/submit/1I-Computer2/[今日の日付]/[学籍番号]
に提出しなさい。ソースファイル (〜.java) のみを提出してください。 提出は gFTP 等の ftp ソフトを用いて行ってください。
いずれの問題も while 文を使った繰り返しのプログラムとして書きなさい。
int 型変数を用意し適当な値を代入しておく。 その整数の階乗 n! を求めるプログラムを書きなさい。 プログラム名は Factorial とする。
n! = 1 × 2 × 3 × … × n
である。例題の 1 つめのプログラムと同じ考え方で書けるはずである。
n ≧ 13 になると正しい値が求まらなくなるが、 これは int 型整数の扱える範囲を越えるためである。 今回はこれで仕方ないとする。
1 ≦ n ≦ 10 の整数 n について、 n, 2n, 3n を一覧表の形で出力するプログラムを書きなさい。 プログラム名は Power2N3N とする。
出力の最初の数行は次のようになる。
1: 2 3 2: 4 9 3: 8 27 4: 16 81
次のような文字からなる三角形を描くプログラムを書きなさい。 プログラム名は Triangle とする。
* ** *** **** *****
このプログラムは 2 重の繰り返しとして書くこと (単に表示できれば良いというわけではない) 。 外側の繰り返しで行数を数えながら行毎の繰り返しを 5 回行うこととし、 内側で 1 行目で * を 1 回、 2 行目で * を 2 回、 3 行目で * を 3 回…と出力するような繰り返しを記述すれば良い。
なお、改行をせずに文字を表示するためには System.out.print(表示したい内容); を使うと良い。 また、単に改行だけした場合は、 System.out.println(); と書けば良い。 繰り返しの中のどのタイミングで改行をすべきかについても 考えること。
1 から100までの範囲にある素数をすべて表示するプログラムを書きなさい。 プログラム名は Prime100 とする。
このプログラムは例題の 2 つ目のプログラムを改造し、 素数を判定する while 文の外側に、 2, 3, 4, …, 100 の順に判定対象となる数を登場させる while 文を書き、二重の繰り返しとすればよい。
なお、このプログラムの作り方だと 2 は素数であるが表示されない。 今回はこのままでも良いとするが、 余力のある人は 2 もきちんと表示されるようにしてほしい。
なお、「絵本」p.55 に同種のサンプルプログラムがある。 このサンプルの方法のような配列を用いずに、 while 文のみを使う方法を考えること。