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