我写了这个非常简单的素数检查:
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")
...这似乎以某种方式起作用,但我不确定它是否正确,有人可以确认吗?
就这么简单:
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
有关令人印象深刻的素数生成器,请参见此处
Wikipedia 关于素数的文章可以帮助您设计更好的算法。它们有很多,但基本的并不那么复杂。