簡體   English   中英

Python 程序打印無限質數

[英]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.

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