我假设你使用Python初学者,所以让我指出来检查数的素性在你的代码逻辑是不正确的,你应该先仔细的primes numbers定义阅读,当你这样做,试着去了解这个小例子说明了如何检查素数:
import math
def is_prime_naive(number):
if number == 2:
return True
if number % 2 == 0:
return False
i = 3
sqrt_number = math.sqrt(number)
while i <= sqrt_number:
if number % i == 0:
return False
i = i+2
return True
for i in range(2,101):
print "{0} {1} prime".format(i,"is" if is_prime_naive(i) else "is not")
现在,请注意上面的代码是最简单的一个,但也是最慢的办法来检查一个数是否是质不是。当你熟悉素数的概念,那么你应该检查最快的方法来检查素数,一些例子可能是费马和米勒拉宾素数测试。所以,与黄金运气,你一定会与他们乐趣;-)
来源
2016-08-13 11:55:58
BPL
为什么你认为这个代码将准确确定一个数字是否是总理? – michaelrccurtis
@michaelrccurtis以及我试图在if语句中表示主要条件。所以如果_quuN_的mod被0除以_quuM_,那么它就不是素数,因为素数可以被1和它自己整除。 –