如何编写代码以使用Python获取第10001个素数

时间:2013-11-15 13:03:55

标签: python algorithm loops

通过列出前六个素数:2,3,5,7,11和13,我们可以看到第6个素数是13。

10 001号素数是多少?

我试过这样的话:

def isprime(num):
    i=2
    import math
    while (int(math.sqrt(num))+1)>=i:
        if num%i==0:
            return False
        i = i+1
    return True



def findprime(n):
    prime = 1
    for i in range(3,n):
        if isprime(i):
            prime = prime+1
        if prime ==  10001:
            return i

我用一个大整数调用findprime()。所以它循环遍历范围内的所有整数,并且需要花费大量时间来生成输出,有时我的python shell因为输入很大而挂起。有没有聪明的方法来做到这一点?

0 个答案:

没有答案