我写了这个非常简单的素数检查:
prime = int(input())
if prime % prime == 0 and prime % 2 != 0 and prime % 3 != 0 or prime == 2 or prime == 3:
print("true")
else:
print("false")
......这似乎在某种程度上有效,但我不确定它是否正确,有人可以确认一下吗?
答案 0 :(得分:6)
尽可能简单:
def isprime(n):
"""check if integer n is a prime"""
# range starts with 2 and only needs to go up the squareroot of n
for x in xrange(2, int(n**0.5)+1):
if n % x == 0:
return False
return True
对于令人印象深刻的素数生成器,请参阅here
答案 1 :(得分:5)
答案 2 :(得分:1)
关于primality的维基百科文章可以帮助您设计更好的算法。其中有很多,但基本的并不复杂。