【Python】for文を使って素数の判定をする

【Python】for文を使って素数の判定をする

はじめに | 素数判定の方法 | 例題 | まとめ

はじめに

素数とは、1と自分自身以外の約数を持たない自然数です。例えば、2、3、5、7、11などが素数です。Pythonで素数判定を行う方法はいくつかありますが、ここでは「for文」を使って素数を判定する方法について詳しく解説します。

素数判定において最も基本的な方法は、対象の数を1からその数の平方根までの整数で割り、割り切れる数が1つでもあればその数は素数ではないと判定する方法です。この方法をfor文で実装します。

素数判定の方法

素数を判定するためには、次の手順を踏むことが一般的です:

  • 対象となる数が2以上であることを確認する。
  • 対象となる数を1からその数の平方根までの整数で割り、割り切れる数があれば素数ではないと判定する。
  • 割り切れない場合、その数は素数と判定する。

これを実現するために、for文を使って実装します。

Pythonコード例


def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True
    

このコードでは、`is_prime`という関数を定義しています。まず、`num`が2未満であれば素数ではないので、`False`を返します。次に、2から`num`の平方根までの整数で`num`を割り切れるかどうかを調べ、割り切れた場合は素数ではないと判定します。すべての条件を満たす場合に`True`を返し、素数であることを示します。

例題

例1: 17は素数か?


print(is_prime(17))  # 結果: True
    

17は2以上で、1からその平方根までの数で割り切れないため、素数であると判定されます。結果は`True`です。

例2: 18は素数か?


print(is_prime(18))  # 結果: False
    

18は2で割り切れるので、素数ではないと判定されます。結果は`False`です。

例3: 29は素数か?


print(is_prime(29))  # 結果: True
    

29は1からその平方根までの整数で割り切れないため、素数です。結果は`True`です。

例4: 100は素数か?


print(is_prime(100))  # 結果: False
    

100は2で割り切れるので、素数ではありません。結果は`False`です。

まとめ

Pythonの`for文`を使って素数判定を行う方法について解説しました。基本的な素数判定の考え方を理解し、実際にコードを使って確認しました。この方法は素数を判定する上で非常にシンプルで、少量のデータには有効ですが、大きな数に対しては効率的ではありません。その場合、エラトステネスの篩など、より効率的なアルゴリズムを使うことを検討すると良いでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です