找出10到10000之间的所有质数

2024-09-28 21:38:18 发布

您现在位置:Python中文网/ 问答频道 /正文

primes = [2,3,5,7]
for n in range(10, 10000):
    isPrime = True
    for d in primes:
        if (n % d) == 0:
            isPrime = False
        else:
            primes.append(n)
            break
print(primes[n])

我必须打印10到10000之间的所有质数,然后将它们附加到给定的前几个素数数组中。我的代码在我测试了多次之后就开始工作了。现在它向我抛出一个错误“list index out of range”。不知道怎么了,以为我走对了路。在


Tags: infalsetrueforifrange数组else
1条回答
网友
1楼 · 发布于 2024-09-28 21:38:18

我想你应该从这样开始

在添加到列表之前,需要遍历所有质数。否则,你总是打破奇数的循环(你用2修改)

primes = [2,3,5,7]
for n in range(10, 10000):
    isPrime = True
    for d in primes:
        if n % d == 0:
            isPrime = False
            break 
    if isPrime:
        primes.append(n)
print(primes)

相关问题 更多 >