素数の判定

コンソールから入力した値が、素数か合成数かを判定します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. コンソールから入力した値が、素数か合成数かを判定するプログラムを作成して下さい。
    ゼロが入力されるまで、素数の判定を繰り返します。
  2. 素数とは「2以上の1と自分自身以外に約数を持たない整数」のことを言います。
    例えば13は、2でも3でも・・・7でも割り切れず、13を割りきることのできる数は、 1と13だけなので13は素数です。
    15は「3*5=15」で3と5で割り切れるので素数ではなく合成数です。
  3. プログラムのロジックを考えて見ましょう。
    1. 入力した値を n とします。
    2. n の最大の約数を i に求めることを考えます。
    3. 自分自身を除く n の最大の約数は n/2 なので i=n/2 から始めます。
    4. n が i で割り切れたらループから抜け出します。
    5. i で割り切れないときは i をデクリメントして、割り切れるかを調べます。
      少なくとも i が1になると割り切ることが出来ます。
    6. ループから抜け出たときの i の値を調べて「1なら素数」「1より大きい」なら合成数です。
  4. プログラムして下さい。

【演習】

  1. 素数判定の方法は、上で説明しています。
    この判定方法を使って、100以下の素数一覧を表示しなさい。

前田稔(Maeda Minoru)の超初心者のプログラム入門