pythonで素数を判定する方法は何ですか

素数かどうかを判定する方法として代表的なものに「試除法」があります。2から順番にその数より小さい数で割ってみて、割り切れる数があった場合、素数ではありません。割り切れる数がない場合、素数と判定します。

素数を判定するPythonで記述された関数を以下に示します。

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

与えられた整数nが素数である場合にTrue、そうでない場合にFalseを返す。

n が 1 以下の場合は素数ではないので、最初に n が 1 以下かどうかを判定します。その後、2 から n の平方根(int(n**0.5)+1)までをループで回します。ループの中で、n が現在のループ数で割り切れる場合は n が素数ではないので False を返します。ループを最後まで回っても n を割り切れる数が見つからなかった場合は n が素数なので True を返します。

素数かどうかを判定する関数として使えます。例えば

print(is_prime(7))  # 输出True
print(is_prime(12))  # 输出False

なお、これは素数を判定するための基本的な方法であり、大きな数字を判定する必要がある場合は、より効率のよいアルゴリズムが必要となる場合があります。

bannerAds