透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

Is 97 prime?
YES
This is a prime number
受測數字 97
Result Prime

什麼是質數?

質數是指大於 1,且只有兩個相異正因數(也就是 1 與它自己)的整數。常見的質數包括 2、3、5、7、11 與 13。至於大於 1 卻不是質數的數,則稱為「合數」,因為它們可以拆解成幾個較小整數的乘積。這個計算機會立刻告訴你輸入的數字是不是質數;如果不是,還會顯示能整除它的最小因數。

將質數顯示為單行圓點,與排成矩形網格的合數進行對比
質數無法組成矩形(\(1 \times n\) 除外),而合數可以。

如何使用這個計算機

在輸入框中填入任何整數(0 或更大),然後送出。結果框會顯示 YES 代表是質數,或顯示 NO 代表是合數。當數字為合數時,表格還會列出大於 1 的最小因數,方便你接著進行完整的質因數分解。

公式原理說明

想要有效率地判斷質數,其實只需要測試到 \(n\) 的平方根為止的因數即可。原因在於:如果 \(n\) 有一個比平方根大的因數,那它必定也有一個比平方根小的對應因數,因此測試到平方根就已經足夠。用較嚴謹的方式來說,當 \(n > 1\),而且對於每個從 2 到 \(\lfloor\sqrt{n}\rfloor\) 的整數 \(i\),\(n \bmod i \neq 0\) 時,\(n\) 就是質數。相較於逐一測試小於 \(n\) 的每個數字,這種方法能大幅減少計算量。

$$n \text{ is prime} \iff n > 1 \text{ and } n \bmod i \neq 0 \;\; \forall\, i \in [2, \sqrt{n}]$$

從 2 到 n 的因數數線,在 n 的平方根處標有記號,表示只需檢查下半部分
只需檢驗到 \(n\) 的平方根為止的因數。

實際範例

以 \(n = 97\) 為例。它的平方根約為 \(9.85\),所以我們只需測試 2、3、5、7 與 9。這些數都無法整除 97(97 是奇數,也不能被 3、5、7 整除),因此 97 是質數。再看 \(n = 91\),依序測試 2、3、5,接著測試 7 時會發現 \(91 \div 7 = 13\) 剛好整除,所以 91 是合數,最小因數為 7。

常見問題

1 是質數嗎? 不是。依照定義,質數必須大於 1,所以 1 既不是質數,也不是合數。

2 是質數嗎? 是的。2 是唯一的偶質數;其他所有偶數都能被 2 整除。

為什麼只要測試到平方根就好? 因為因數總是成對出現,兩兩相乘等於 \(n\)。如果一對因數都大於 \(\sqrt{n}\),它們的乘積就會超過 \(n\),這是不可能的——所以每一對因數中至少有一個會小於或等於 \(\sqrt{n}\)。

最後更新: