練習 4(提出プログラム名:p0404a.c)
練習 3 で作ったプログラム (p0403a.c) を p0404a.c という別の名前のファイルにコピーしなさい.そして,p0404a.c を編集して以下の例のように実行できるプログラムを作りなさい.
このプログラムでは練習 3 と同様に約数を求めるが,次の 3 つの点が異なる:
① 1 ~ n の範囲ではなく 2 ~ n の範囲について処理する.
②表示させるのは約数の一覧ではなく「最大約数のみ」である.
③最後に見つかった素数の個数も出力する.
【ヒント】
「整数 i が素数である」⇔「整数 i の(i 未満の)最大約数が 1 である」
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
n を入力してください:2 2 の最大約数 = 1 ### 素数⏎ 全部で 1 個の素数が見つかりました⏎
- 【プログラムの実行例】(その2)※赤字は実行時にキーボードから入力する内容
n を入力してください:8 2 の最大約数 = 1 ### 素数⏎ 3 の最大約数 = 1 ### 素数⏎ 4 の最大約数 = 2⏎ 5 の最大約数 = 1 ### 素数⏎ 6 の最大約数 = 3⏎ 7 の最大約数 = 1 ### 素数⏎ 8 の最大約数 = 4⏎ 全部で 4 個の素数が見つかりました⏎
- 【プログラムの実行例】(その3)※赤字は実行時にキーボードから入力する内容
n を入力してください:1230 2 の最大約数 = 1 ### 素数⏎ 3 の最大約数 = 1 ### 素数⏎ 4 の最大約数 = 2⏎ 5 の最大約数 = 1 ### 素数⏎ ... (中略) ... 1227 の最大約数 = 409⏎ 1228 の最大約数 = 614⏎ 1229 の最大約数 = 1 ### 素数⏎ 1230 の最大約数 = 615⏎ 全部で 201 個の素数が見つかりました⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 上に示した3通りの実行例と出力結果が違っている.
特に,出力すべき値が間違っていて,最後に出力される個数が違っている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 練習3 (p0403a.c) ]
ミスが無いことを確認したら次の問題へ → [ 練習5 (p0405a.c) ]