质数判断器
检验一个数是否为质数,并查看其完整的质因数分解结果。
质数判断的原理:试除到平方根
质数(也叫素数)是只有 1 和它本身两个因数的自然数。这个工具用试除法判断:依次用 2、3、4……去除你的数,找到因数就除掉,直到除数的平方超过剩下的数为止。没有任何数能整除,就是质数。结果会显示是 — 质数或否 — 合数,并给出完整的质因数分解,重复的因数逐个写出。
只试到平方根就够了,因为因数总是成对出现:如果 n = a × b,其中一个一定不大于 √n。默认值 97 只需试 2 到 9,因为 10 × 10 = 100 已经超过 97。没有一个能整除,所以 97 是质数。
示例:有些数看起来像质数
| 数 | 结果 | 质因数分解 |
|---|---|---|
| 97 | 质数 | 97 |
| 91 | 合数 | 7 × 13 |
| 221 | 合数 | 13 × 17 |
| 561 | 合数 | 3 × 11 × 17 |
| 1001 | 合数 | 7 × 11 × 13 |
| 360 | 合数 | 2 × 2 × 2 × 3 × 3 × 5 |
| 2147483647 | 质数 | 2147483647 |
91 和 221 最容易判断错:它们是奇数,个位不是 5,各位数字之和也不是 3 的倍数,常用的口诀都筛不掉它们,但工具不会漏。
分解质因数时,可以把重复的因数写成幂的形式:360 = 2³ × 3² × 5。把所有因数乘回去,应当等于原数。
0、1、负数和小数
- 0 和 1 会显示“否 — 合数”,没有分解结果。“否”是对的,但“合数”不对:1 既不是质数也不是合数,0 也不是合数。
- 负数会去掉负号再判断,所以 −7 按 7 判断为质数。
- 小数先四舍五入成整数,7.4 按 7 判断。标题会显示实际检验的数,例如“7 是质数吗?”。
心算筛选口诀和工具的上限
- 个位是 0、2、4、6、8:能被 2 整除。
- 各位数字之和能被 3 整除:能被 3 整除。561 的各位和 5 + 6 + 1 = 12。
- 个位是 0 或 5:能被 5 整除。
- 奇数位与偶数位数字之和的差能被 11 整除:能被 11 整除。1001 是 1 − 0 + 0 − 1 = 0。
大于 3 的质数都比 6 的倍数多 1 或少 1,但反过来不成立:91 = 6 × 15 + 1,仍是合数。口诀用来排除,最后用工具确认。
为了保证页面不卡,试除到除数 10,000,000 就停止。小于 100 万亿(10¹⁴)的数都能完整检验,因为它们的平方根都在这个范围内。超过这个范围,没有 1000 万以下因数的数会被判为质数,即使它不是。例如 100,000,980,001,501 = 10,000,019 × 10,000,079,工具却会判为质数。超过 9,007,199,254,740,992 时,浏览器甚至无法精确存储你输入的整数。100 万亿以上的数请使用专门的数学软件。
常见问题
1 是质数吗?+
不是。质数恰好有两个不同的因数,1 只有一个。1 既不是质数也不是合数。把 1 排除在外,还能保证质因数分解是唯一的,否则 6 可以写成 2 × 3、1 × 2 × 3、1 × 1 × 2 × 3……
2 是唯一的偶质数吗?+
是。其他偶数都能被 2 整除,除了 1 和它本身还有因数 2,所以 2 是最小的质数,也是唯一的偶质数。
怎么快速判断一个数是不是质数?+
先用口诀排除能被 2、3、5、11 整除的数,再用不超过平方根的质数逐个试除。都除不尽就是质数。比如判断 97,只需试 2、3、5、7。