練習 3(提出プログラム名:p0403a.c)
以下の例のように,約数の一覧表示と素数判定を行うプログラムを p0403a.c として作りなさい.
なお,この問題では必ず for 文を使うこととする.
このプログラムでは最初に整数 n を読み込み,1 の約数,2 の約数,…,n の約数を小さいものから順に出力している.その際,素数については行末に「### 素数」と出力している.
ここでは n は 1 以上の整数であると仮定してプログラムを作ってよい.
【ヒント】
「整数 i が素数である」⇔「整数 i の約数がちょうど 2 個である」
それゆえ,整数 i の約数を表示する際に個数も数えておいて,その個数が 2 に等しい時だけ特別に「### 素数」という表示を追加するとよいです.
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
【要注意】「### 素数」という表示がその左の数字 1 にくっついてしまわないよう注意せよ.
(※「1」と「###」の間には半角のスペースが入っているので間違えないこと)
n を入力してください:8 1 の約数 = 1⏎ 2 の約数 = 2 1 ### 素数⏎ 3 の約数 = 3 1 ### 素数⏎ 4 の約数 = 4 2 1⏎ 5 の約数 = 5 1 ### 素数⏎ 6 の約数 = 6 3 2 1⏎ 7 の約数 = 7 1 ### 素数⏎ 8 の約数 = 8 4 2 1⏎
- 【プログラムの実行例】(その2)※赤字は実行時にキーボードから入力する内容
n を入力してください:50 1 の約数 = 1⏎ 2 の約数 = 2 1 ### 素数⏎ 3 の約数 = 3 1 ### 素数⏎ ... (中略) ... 47 の約数 = 47 1 ### 素数⏎ 48 の約数 = 48 24 16 12 8 6 4 3 2 1⏎ 49 の約数 = 49 7 1⏎ 50 の約数 = 50 25 10 5 2 1⏎
- 【プログラムの実行例】(その3)※赤字は実行時にキーボードから入力する内容
n を入力してください:1230 1 の約数 = 1⏎ 2 の約数 = 2 1 ### 素数⏎ 3 の約数 = 3 1 ### 素数⏎ ... (中略) ... 1228 の約数 = 1228 614 307 4 2 1⏎ 1229 の約数 = 1229 1 ### 素数⏎ 1230 の約数 = 1230 615 410 246 205 123 82 41 30 15 10 6 5 3 2 1⏎
【過去にあったミス(減点となり,やり直しを命じられる)】
■ 上の3種類の実行例と表示が微妙に違っている(きちんと確認していない).
(例1)出力する記号が違っている(### になっていない).
(例2)素数以外でも「### 素数」と表示させてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 練習2 (p0402a.c) ]
ミスが無いことを確認したら次の問題へ → [ 練習4 (p0404a.c) ]