[英]Python program to print infinite prime numbers
我想打印無限的素數。 我該怎么做? 我不希望程序自行結束。 我該怎么做?
我試過的代碼是:
i = 2
while True:
while i>1:
for j in range(2, i):
if (i%j)==0:
break
else:
print(i)
但是,上面的代碼不起作用。
示意地,像這樣進行:
def is_prime(n):
"""Returns True if n is a prime number."""
"""implementation left as an exercise"""
n = 1
while True:
if is_prime(n):
print(n)
n += 1
一旦你讓這個代碼工作,有很多方法可以改進它。
我建議您在 Internet 或 stackoverflow 上搜索您的代碼為何不起作用的答案。 使用python print prime numbers
進行搜索(在 stackoverflow 1_272 結果上給出)並設置素數的上限以打印幾乎無限的大數,或者使用無限循環,就像您嘗試從加熱 CPU 中獲得樂趣一樣並將您的計算機鎖定在無限循環中。
一般來說,不可能讓計算機無休止地打印素數,因為如果素數足夠大,就會達到硬件的物理極限,這將使任何用任何編程語言編寫的程序在某個時候失敗,並出現 memory 溢出或超過存儲介質容量。
請參閱此處(在 python 中打印一系列素數)開始您的素數之旅,並考慮編寫鎖定在無限循環中的程序通常不是一個好主意。
PS要體驗無限大質數,首先要確保您的壽命無限,並認為stackoverflow不是詢問如何實現無限壽命的問題的正確站點。
你看,在數學上沒有辦法生成無限質數,因為沒有公式可以生成質數。 所以你不能真正產生無限的素數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.