這個工具能做什麼
這個工具可以告訴你一個整數究竟是質數還是合數。大於 1 的質數,剛好只有兩個因數:1 和它本身;而合數則至少還有一個額外的因數。至於 0 和 1,既不是質數也不是合數,所以本計算器需要你輸入 2 以上的整數。
如何使用
只要在欄位中輸入任意整數並送出即可。計算器會立刻判斷它的類型;若該數字為合數,還會進一步顯示它的最小質因數,以及一組分解範例(最小因數 \(\times\) 對應的另一個因數)。
原理與公式說明
本工具採用「試除法」來判斷。要判斷 \(n\) 是否為合數,其實只需要測試從 2 到 \(n\) 平方根之間的除數 \(d\)。只要有任何一個 \(d\) 能整除 \(n\)(餘數為 0),\(n\) 就是合數;若都無法整除,\(n\) 便是質數。為什麼只要測到 \(\sqrt{n}\) 就夠了?因為若 \(n = a \times b\),這兩個因數中至少有一個會 \(\le \sqrt{n}\)。
$$\text{Prime if } n > 1 \text{ and } \nexists\, d \in [2, \lfloor\sqrt{n}\rfloor] : n \bmod d = 0$$$$\begin{gathered} \text{Classify}(n) = \begin{cases} \text{Prime} & \nexists\, d \in [2,\lfloor\sqrt{n}\rfloor],\; n \bmod d = 0 \\[0.4em] \text{Composite} & \exists\, d \in [2,\lfloor\sqrt{n}\rfloor],\; n \bmod d = 0 \\[0.4em] \text{Neither} & n < 2 \end{cases} \end{gathered}$$
實例演算
以 \(n = 91\) 為例。91 的平方根約為 \(9.54\),所以我們只要測試 2、3、5、7、9 即可。我們發現 \(91 \div 7 = 13\) 剛好整除,因此 91 是合數,最小因數為 7,分解結果為 \(7 \times 13\)。相對地,97 在 9 以內都找不到任何因數,所以它是質數。
常見問題
1 是質數嗎?不是。根據定義,質數必須剛好擁有兩個不同的正因數,而 1 只有一個因數。
2 是質數嗎?是的。它是唯一一個是偶數的質數。
為什麼只要測到平方根就好?任何大於 \(\sqrt{n}\) 的因數,一定會搭配一個小於 \(\sqrt{n}\) 的因數,而後者在搜尋範圍內早就檢查過了,因此再往 \(\sqrt{n}\) 以上測試只是多此一舉。