この質問は何度も尋ねられましたが、私は最速のアルゴリズムを探していません。私はコードが間違っているので、私が間違っていることを知りたいだけです。Python - 素数であることを確認
import math
def is_prime(number):
for i in range (2, 1+ int(math.sqrt(number))):
if number % i == 0:
return 0
else:
return 1
choice = int(input("Check if it's prime: "))
if is_prime(choice):
print ("{} is a prime number".format(choice))
else:
print ("{} is not a prime number".format(choice))
私がこのプログラムをほとんどの数値に対してテストすると、正しい応答が返されますが、正方形の数値を調べると、それは素数であると言われます。だから私が間違ってやっていることは何ですか?
と私は私がしても、ユーザーの入力をチェックしていなかっただけで幸せなパスをした知っているが、してみましょう:
あなたはそれが素数でないことを知っているときだけではなくすぐに戻り、他続けますこれをスキップして、常に 'integer> = 2'と入力すると仮定します。 – narn