通过列出前六个质数:2、3、5、7、11和13,我们可以看到第6个质数是13。
第10001个质数是多少?
我的代码似乎是正确的,因为它对小数字有效,例如第6个质数是13。
如何改进代码,使其在处理较大数字(例如10001)时运行更快?
以下是代码:
#Checks if a number is a prime
def is_prime(n):
count = 0
for i in range(2, n):
if n%i == 0:
return False
break
else:
count += 1
if count == n-2:
return True
#Finds the value for the given nth term
def term(n):
x = 0
count = 0
while count != n:
x += 1
if is_prime(x) == True:
count += 1
print x
term(10001)
更新:
感谢您的回复。我应该更清楚地表达,我不是想加快解释器的速度或找到一个更快的解释器,因为我知道我的代码并不好,所以我在寻找使我的代码更高效的方法。