我是編程新手,在互聯網上發現了一個顯示第1000個素數的問題。但問題是,我的代碼,但我有一些問題。計數素數
count=0
prime=[]
n=2
while count != 1000:
if n == 2 or n == 3 or n == 5 or n == 7 or n == 11:
prime.append(n)
n=n+1
count=count+1
elif n%2 == 0 or n%3 == 0 or n%5 == 0 or n%7 == 0 or n%11 == 0:
n=n+1
else:
prime.append(n)
n=n+1
count=count+1
print(prime[999])
問題是當我有一些像403按照我寫的是黃金,但實際上它不是因爲它可以用13分和31
我想出了一個代碼解決方案,但我不知道如何去做,如果有更好的解決方案。如果你幫助我,請嘗試保存我的代碼,請不要給我全新的代碼。
我的解決方案是:
elif n%prime[:]==0
n=n+1
所以基本上我想要做的是試圖把數403,例如,到任何一個我先前記錄的其他素數。但由於某種原因,這段代碼給了我一個錯誤。我想告訴節目「在列表中將n分配給每個號碼」。感謝您的幫助:)
什麼是'%黃金[:] == 0'該怎麼辦?你的意思是'因爲我在素數:如果n%i == 0'? –
是的,但我試圖做到這一點,而不使用「for」命令 –