【发布时间】:2015-07-14 15:07:16
【问题描述】:
最后的while 循环没有退出,我不知道为什么。
import sys
def is_prime(n):
if n == 3:
return True
elif n == 4:
return False
else:
for i in xrange(2,n):
if n % i == 0:
return False
return True
primes = [2, 3]
counter = int(raw_input("Which prime number would you like to find? "))
while len(primes) < counter:
for i in xrange(primes[-1], sys.maxint):
if is_prime(i):
primes.append(i)
print(primes[-1])
【问题讨论】:
-
wrt 优化; Primality test 也有更高效的算法
标签: python while-loop