prime = [2]
while len(prime) <= 1000:
    i=3
    a = 0
    for number in prime:
        testlist= []
        testlist.append(i%number)
    if 0 in testlist:
        i=i+1
    else:
        prime.append(i)
        i=i+1
print(prime[999])


尝试制作一个计算在线课程素数的程序。该程序永远不会结束,但是我看不到代码中的无限循环。

质数是一个只能被其自身除以一个数的数。

我的逻辑是,如果一个数字可以除以前面的质数,则它不是质数。

最佳答案

正如您对问题的注释所指出的那样,您的代码中存在多个错误。

这是您的代码正常工作的一个版本。

prime = [2]
i = 3
while len(prime) <= 1000:
    testlist = []
    for number in prime:
        testlist.append(i % number)
    if 0 not in testlist:
        prime.append(i)
    i = i + 1
print prime

关于python - Python素数计算器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24252934/

10-12 02:51