簡體   English   中英

查找所有從10到10000的質數

[英]Find all prime numbers from 10 to 10000

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的所有素數,然后將它們附加到前幾個素數的給定數組中。 我的代碼在多次測試時運行得更早。 現在,它引發了一個錯誤“列表索引超出范圍”。 不確定我在正確的軌道上怎么了。

我想你應該從這樣的事情開始

您需要遍歷所有素數,然后才能追加到列表。 否則,您將始終在奇數上中斷該循環(您用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM