練習 [4] for 文(4/5)

練習 4(提出プログラム名:p0404a.c)

練習 3 で作ったプログラム (p0403a.c)p0404a.c という別の名前のファイルにコピーしなさい.そして,p0404a.c を編集して以下の例のように実行できるプログラムを作りなさい.

このプログラムでは練習 3 と同様に約数を求めるが,次の 3 つの点が異なる:
 ① 1n の範囲ではなく 2n の範囲について処理する.
 ②表示させるのは約数の一覧ではなく「最大約数のみ」である.
 ③最後に見つかった素数の個数も出力する.

【ヒント】
「整数 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 上でインデントを自動で揃える作業をやっていない).


ミスが無いことを確認したら次の問題へ → [ 練習5 (p0405a.c) ]