先了解一下定义
质数是大于 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 在浏览器中本地检查实际的整数输入。主要结果是整除性检查,而不是有关加密密钥的证明或专用数论软件的替代品。