解答は
- ホスト: earth.mlab.im.dendai.ac.jp
- ディレクトリ: /home/submit/1I-Computer1/[今日の日付]/[学籍番号]
に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行うこと。
いずれの問題も for 文を使った繰り返しのプログラムとして書きなさい。
下のような九九の表を出力するプログラムを書きなさい。 プログラム名は Kuku とする。
1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
上の九九の表は、このままでは表としては見づらいので、 次のように各数字の桁をそろえて表示するように工夫しなさい。 プログラム名は Kuku2 とする。
1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
値が10未満であった場合は、 最初に空白を表示してから値を表示するようにすれば良い。
2 から100までの範囲にある素数をすべて表示するプログラムを書きなさい。 プログラム名は Prime100 とする。
このプログラムは例題のプログラムを改造し、素数を判定する for 文の外側に、 2, 3, 4, …, 100 の順に判定対象となる数を登場させる for 文を書き、2重の繰り返しとすればよい。
サイコロを3つふり、少なくとも2つのサイコロの目が一致する確率を求めなさい。 繰り返しによってすべての場合の目の並びを求め、 問題文の条件を満たす目の並びの数を数えることにより求める。 なお、現時点では小数点以下を含むような数 (実数) の計算方法は学んでいないので、 確率は分数 (「m / n」という形式) で表示すればよい。約分の必要はない。 プログラム名は Sai とする。
サイコロ 1 個をふって出る目は 1 から 6 の 6 通りである。 これを 1 つの for 文で表わす。 すべての目の並びは 3 重の for 文で生成することができる。
プログラムの概略は次のとおり。
for (サイコロ 1 をふって出る目を登場させる繰り返し) { for (サイコロ 2 をふって出る目を登場させる繰り返し) { for (サイコロ 3 をふって出る目を登場させる繰り返し) { (この繰り返しの中では 3 つのサイコロのすべての目の出方が登場することになる) if (サイコロの2つの目が一致する場合) { 「一致した回数」を 1 増やす } 「目の数」を 1 増やす } } } 「一致した数」と「目の数」を表示
なお、数学の問題として解くなら以下のようになる。
すべての目の並び - 目がすべて異なる場合の並び
1 - 1x(5/6)x(4/6) = 1 - 20/36 = 1 - 120/216 = 96/216 (= 0.44)