先了解定義
質數是大於 1 且剛好有兩個正約數的整數:1 和數字本身。第一個質數是 2、3、5、7、11 和 13。數字 1 既不是質數也不是合數,2 是唯一的偶數質數。
僅檢查平方根
要測試正整數 n,不需要嘗試 n 以下的每個數字。如果 n 有一個大於其平方根的因子,則它也必須有一個小於平方根的匹配因子。因此測試可能的除數直到平方根就足夠了。
- 如果數字小於 2,則不是質數。
- 檢查是否能被2整除。如果是偶數且大於2,則不是質數。
- 試試從 3 到平方根的奇數除數。如果有一個數被整除,則該數是合數。
- 如果沒有一個能被整除,則該數是質數。
例:97 是質數嗎?
97 的平方根略小於 10。檢查到此為止可能的素因數:2、3、5 和 7。這個數字不能被它們中的任何一個整除,因此 97 是質數。
對於 91,檢查發現 7:91 ÷ 7 = 13。這足以表明 91 是合數;無需測試更大的除數。
常見錯誤
- 呼叫 1 素數。質數必須剛好有兩個正因數,而 1 只有一個。
- 假設每個奇數都是質數。奇數合數例如 9、15、21 和 91 都有奇數約數。
- 僅測試大量的小除數。檢查必須涵蓋直到平方根的每個可能的除數,或使用經過驗證的素數演算法。
UsefulVerse 在瀏覽器中本地檢查實際的整數輸入。主要結果是整除性檢查,而不是有關加密金鑰的證明或專用數論軟體的替代品。