质数判断器(免费)- 支持1000位、含质因数分解
输入最多 1000 位的数字即可立即判断是否为质数。同时显示质因数分解、前后相邻的质数、试除法步骤,以及本次结论由哪种判定法得出。免费、无需注册。
1000 以内的全部 168 个质数
| 2 | 3 | 5 | 7 | 11 | 13 | 17 | 19 | 23 | 29 | 31 | 37 |
| 41 | 43 | 47 | 53 | 59 | 61 | 67 | 71 | 73 | 79 | 83 | 89 |
| 97 | 101 | 103 | 107 | 109 | 113 | 127 | 131 | 137 | 139 | 149 | 151 |
| 157 | 163 | 167 | 173 | 179 | 181 | 191 | 193 | 197 | 199 | 211 | 223 |
| 227 | 229 | 233 | 239 | 241 | 251 | 257 | 263 | 269 | 271 | 277 | 281 |
| 283 | 293 | 307 | 311 | 313 | 317 | 331 | 337 | 347 | 349 | 353 | 359 |
| 367 | 373 | 379 | 383 | 389 | 397 | 401 | 409 | 419 | 421 | 431 | 433 |
| 439 | 443 | 449 | 457 | 461 | 463 | 467 | 479 | 487 | 491 | 499 | 503 |
| 509 | 521 | 523 | 541 | 547 | 557 | 563 | 569 | 571 | 577 | 587 | 593 |
| 599 | 601 | 607 | 613 | 617 | 619 | 631 | 641 | 643 | 647 | 653 | 659 |
| 661 | 673 | 677 | 683 | 691 | 701 | 709 | 719 | 727 | 733 | 739 | 743 |
| 751 | 757 | 761 | 769 | 773 | 787 | 797 | 809 | 811 | 821 | 823 | 827 |
| 829 | 839 | 853 | 857 | 859 | 863 | 877 | 881 | 883 | 887 | 907 | 911 |
| 919 | 929 | 937 | 941 | 947 | 953 | 967 | 971 | 977 | 983 | 991 | 997 |
1000 以内其余的数都是合数,即除了 1 和自身之外至少还有一个约数。
每个 10 的幂以内有多少个质数?
| 范围上限 | 质数个数 π(x) | 质数所占比例 |
|---|---|---|
| 10 | 4 | 40% |
| 100 | 25 | 25% |
| 1,000 | 168 | 16.8% |
| 10⁴ | 1,229 | 12.29% |
| 10⁵ | 9,592 | 9.59% |
| 10⁶ | 78,498 | 7.85% |
| 10⁷ | 664,579 | 6.65% |
| 10⁸ | 5,761,455 | 5.76% |
| 10⁹ | 50,847,534 | 5.08% |
| 10¹⁰ | 455,052,511 | 4.55% |
| 10¹² | 37,607,912,018 | 3.76% |
| 10¹⁵ | 29,844,570,422,669 | 2.98% |
π(x) 是质数计数函数,表示不超过 x 的质数个数。这个比例会不断变小(在 x 附近大约每 ln(x) 个数中有 1 个质数),但永远不会变成零,因为质数有无穷多个。
Tips
- 质数是指大于 1 的整数中,除了 1 和它本身以外没有其他因数的数。这个数列从 2, 3, 5, 7, 11, 13, … 开始,并且永远不会结束。
- 最基础的质数检测方法是试除法:用 2 到 √N 之间的每个整数去除 N。之所以到 √N 就可以停下,是因为如果 N = a × b,那么较小的那个因数一定不超过 √N。
- 手算时也能很快排除大部分数字:除 2 以外的偶数、以 5 结尾的数、各位数字之和为 3 的倍数的数,都是合数。另外,大于 3 的质数一定是 6k − 1 或 6k + 1 的形式。
- 对于很大的数字,试除法并不现实,计算机会改用米勒–拉宾检验和 Baillie–PSW 检验。本页面实现了这两种方法,因此即使粘贴一个 1000 位的数字,也能在一秒内得到结论。
- 1 不是质数,因为定义中要求「大于 1」。而 2 是唯一的偶质数,比它更大的偶数都能被 2 整除。
常见问题
闲话 ― 质数为何如此重要
质数常被称为「算术的原子」。算术基本定理指出,任何大于 1 的整数都能唯一地写成若干质数之积,也就是说质数是构成所有整数、且无法再拆分的基本零件。上面显示的质因数分解之所以是唯一的,原因也在这里:360 就是 2³ × 3² × 5,不存在其他写法。
判定一个巨大的数是否为质数,与把它分解成质因数,是两个完全不同的问题,这一区别的历史值得一说。利用费马小定理可以做快速判定,但存在一些合数无论换哪个底都能蒙混过关,其中最小的一个是 561,可以用上面的按钮试一下(这类数称为卡迈克尔数)。米勒–拉宾检验通过在中途检查 1 的平方根堵住了这个漏洞,并且已经证明:以最前面的 13 个质数为底时,它对约 3.3 × 10²⁴ 以下的所有数都是确定性的判定法。超出这个范围后,本页面会加上强 Lucas 检验,构成 Baillie–PSW 检验。至今没有发现任何能通过它的合数,但这一点尚未被证明,所以对非常大的数,结果会标注为「概率质数」。
正是这种「容易判定、难以分解」的不对称性支撑起了现代密码技术。至今仍在保护 HTTPS 通信与数字签名的 RSA 加密,就是把两个大质数相乘来生成公钥。人们相信从这个乘积还原出原来的两个质数在计算上是不可行的,于是就形成了「验证只需一瞬、分解却做不到」的局面。这种差距在本页面上也能亲身体会:1000 位数字的质数判定几乎瞬间完成,而两个 30 位质数相乘得到的 60 位合数,却分解不出来。
质数还留下了数学中最古老的一些未解难题。像 11 与 13,或者 1,000,000,000,061 与 1,000,000,000,063 这样的孪生质数是否有无穷多对,至今无人知晓——尽管质数本身不会用尽这件事,早在公元前 300 年左右就被欧几里得证明了。刷新纪录的搜索也仍在继续:GIMPS 项目的志愿者们分头检验形如 2^p − 1 的梅森数,目前已知最大的质数是 2024 年发现的 2¹³⁶²⁷⁹⁸⁴¹ − 1,共有 41,024,320 位。