梅森素数与素数纪录
层级:① 教科书共识 + 纪录信息(来源:GIMPS,mersenne.org)· [发布:2026-10-23 07:39:14]
一句话版本
人类已知的最大素数,几乎总是"梅森素数"——因为它有一种专属的高速检测算法。 当前纪录:\(2^{136279841} - 1\),41,024,320 位十进制数字。
什么是梅森素数
形如 \(M_p = 2^p - 1\)(\(p\) 为素数)的素数。注意 \(p\) 是素数只是必要条件,不充分:
\[2^{11} - 1 = 2047 = 23 \times 89 \quad (\text{不是素数})\]
它为什么独占纪录榜?因为有一个只对它有效的判别法——卢卡斯-莱默检验(Lucas–Lehmer,1930 年代):
对 \(p > 2\),定义序列 \(s_0 = 4\),\(s_{n+1} = s_n^2 - 2\)。则 \(M_p = 2^p - 1\) 是素数当且仅当 \(s_{p-2} \equiv 0 \pmod{M_p}\)。
只需 \(p-2\) 次模平方运算,对超大数远快于通用素性检验。这就是为什么已知最大的 18 个素数纪录全是梅森素数。
当前纪录(GIMPS)
| 项 | 值 |
|---|---|
| 纪录保持者 | \(M_{136279841} = 2^{136279841} - 1\) |
| 十进制位数 | 41,024,320 |
| 发现时间 | 2024-10-12 |
| 发现者 | Luke Durant(GIMPS,云 GPU 分布式计算,17 国 24 个数据中心) |
| 排名 | 第 52 个已知梅森素数(带星号:中间指数未全部复核完毕) |
| 上一纪录 | \(M_{82589933}\)(24,862,048 位,2018-12-07 发现;2026-09-04 正式确认为第 51 个) |
值得一提的是:这是 GIMPS 成立 28 年来首次由 GPU(而非 CPU)发现的梅森素数——用几千块云 GPU 替代了传统志愿者 CPU 网络。
为什么明知"没有最大素数"还要找纪录
欧几里得早已证明素数无穷多,纪录不是"找到终点",而是三件事的副产品:极限压力测试算法、极限压力测试硬件、研究特殊素数族的分布规律。顺带一提:梅森素数与偶完全数一一对应(欧几里得-欧拉定理),这是它千年以来被钟爱的另一半原因。
自己验证
# 卢卡斯-莱默检验:验证 M31 是素数、M11 不是
def lucas_lehmer(p):
if p == 2:
return True
m = (1 << p) - 1
s = 4
for _ in range(p - 2):
s = (s * s - 2) % m
return s == 0
assert lucas_lehmer(31) # M31 = 2147483647 是素数
assert not lucas_lehmer(11) # M11 = 2047 = 23 * 89
assert (1 << 31) - 1 == 2147483647
print("M31 = 2147483647 通过卢卡斯-莱默检验 ✓")
print("M11 = 2047 = 23 × 89 ✓(p 为素数不足以保证 Mp 为素数)")
延伸
发布:2026-10-23 07:39:14 · 数论库