1
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])
試圖制定計算在線課程素數的程序。這個程序永遠不會結束,但我在代碼中看不到無限循環。Python素數計算器
質數是一個數字,只能被一個和它自己除。
我的邏輯是,如果一個數字可以被前面的素數分開,那麼它就不是素數。
在每一次迭代中,'i'都是'3',所以你不會再去尋找素數,只有* 2和3 *,所以你的素數列表永遠不會超過2個元素。 –
但不是最後包含的i = i + 1使迭代向前移動嗎? – user3743825
@ user3743825,除了它在while循環的最開始被設置爲'3'。 – huu