埃拉托斯特尼篩法生成器(免費)- 質數一覽・第N個質數查詢

只需輸入上限N,即可使用埃拉托斯特尼篩法逐步視覺化生成質數一覽。除1至100早見表外,還支援最大100萬範圍及第100萬個質數等大序數的反向查詢,免費、無需註冊、瀏覽器內直接計算。

1〜100 的埃拉托斯特尼篩法(一覽表)

綠色格子為質數,其餘為被篩法排除的合數。

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100

1 既不是質數也不是合數,因此不上色。

Tips

  • 埃拉托斯特尼篩法通過從 2 開始依次劃掉質數的倍數,能高效地列出 N 以內的全部質數。
  • 將上限 N 設為 400 以下時,可以逐步確認是哪個質數篩掉了哪些數。
  • 本工具支援「第1,000,000個質數是什麼」這類大序數的反向查詢,便於確認位數很大的質數是否存在。
  • 生成的質數一覽完全在瀏覽器本地計算,不會向伺服器傳送任何資料。

常見問題

這是相傳由西元前3世紀數學家埃拉托斯特尼提出的質數判定法:從 2 開始依次排列整數,機械地劃掉已發現質數的倍數,剩下的數便全部是質數。由於只需重複簡單操作,也非常適合用計算機實現。

由於本工具在瀏覽器內完成全部計算,上限設為最多 1,000,000。超出該範圍會大幅增加計算量,可能導致瀏覽器執行變慢。

根據質數定理估算第 N 個質數的大致上限,再在該範圍內執行埃拉托斯特尼篩法精確求出。支援最多查詢到第 1,000,000 個質數。

當結果數量較多時,只顯示前 1,000 個,其餘僅彙總顯示個數。逐步篩除過程的視覺化僅在上限為 400 以下時提供。
ツールくん

閒話 ― 為何2000年前的演算法至今仍在使用

埃拉托斯特尼篩法是現存最古老的質數生成演算法之一,相傳由西元前3世紀擔任亞歷山大圖書館館長的古希臘學者埃拉托斯特尼所創。兩千多年前發明的方法至今仍作為電腦科學的教材使用,足見這一演算法的簡潔與優美。

篩法的原理出人意料地簡單:從 2 開始依次排列整數,將尚未被劃掉的最小數確定為質數,再劃掉它的所有倍數。只需將這一操作重複到 √N,即可得到 N 以內的全部質數。相比逐一判斷單個數字是否為質數的試除法,若要一次性求出一覽表,篩法效率高得多。

尋找巨大質數的競賽至今仍在繼續,GIMPS(網際網路梅森素數大搜索)等分散式計算專案不斷發現位數超過千萬位的梅森素數。埃拉托斯特尼篩法本身並不用於發現如此巨大的質數,但其基本思想(機械地排除倍數)也是更高階的質數判定演算法的基礎。