上一个素数计算器
求小于任意不超过 24 位的整数的最大素数,并给出它与您输入的数之间的间隔,以及其下方紧挨着的 10 个素数。
“上一个素数”指严格小于 n 的最大素数。素数性用确定性的米勒–拉宾检验判定,对允许范围内的所有数都是准确的。
| 序号 | 素数 | 比 n 小多少 |
|---|---|---|
| 1 | 997 | 3 |
| 2 | 991 | 9 |
| 3 | 983 | 17 |
| 4 | 977 | 23 |
| 5 | 971 | 29 |
| 6 | 967 | 33 |
| 7 | 953 | 47 |
| 8 | 947 | 53 |
| 9 | 941 | 59 |
| 10 | 937 | 63 |
本工具求上一个素数,即严格小于您所输入数字的最大素数。在选择哈希表大小、检查素数间隔的作业,或在 2 的幂或 10 的幂下方选一个素数作模数时都很方便。它能精确处理最多 24 位的整数,并同时列出您的数下方紧挨着的 10 个素数。
使用方法
- 输入一个大于 2 的整数。可以带逗号,所以 1,000,000 也可以。
- 查看上一个素数,以及它比您的数小多少。
- 确认您的数本身是不是素数。
- 在表格中查看再往下的素数。
计算公式
prevprime(n) = max { p 为素数 : p < n }
计算器从 n − 1 开始向下计数,跳过偶数,并检验每个候选数。若候选数通过了以 2、3、5、……、41 为底数的米勒–拉宾检验,它就是素数。用这十三个底数,对约 3.3 × 10²⁴ 以内的任何数都不会误判,所以答案是确定的,而不是概率性的。
示例
对 n = 1,000,000,计算器依次检查 999,999(能被 3 整除)、999,997(= 757 × 1,321)等,一直到遇到的第一个素数 999,983。间隔为 1,000,000 − 999,983 = 17。再往下的素数是 999,979 和 999,961。
常见问题
如果我的数是素数,它的上一个素数是它自己吗?
不是。上一个素数一定严格小于您的数。97 的上一个素数是 89,工具也会告诉您 97 本身是素数。
为什么 2 没有上一个素数?
2 是最小的素数,没有比 2 更小的素数。当 n = 3 时,答案是 2。
素数之间的间隔可以有多大?
在 n 附近,平均间隔约为 ln(n):一百万附近约为 14,一万亿附近约为 28。但单个间隔差异很大,也可能大得多。
最大可以输入多大的数?
最多 24 位。在这整个范围内素数判定都是确定性的,所以结果是精确的。
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/previous-prime-calculator/
引用此工具
kakaoCalc. (2026, November 8). 上一个素数计算器. https://kakao.mobile/zh/tools/previous-prime-calculator/
“上一个素数计算器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/previous-prime-calculator/.