哥德巴赫猜想
层级:① 强形式为开放问题(Chen 定理、Helfgott 定理为已证部分)· 来源:Goldbach (1742) / Chen (1973) / Helfgott (2013)
一句话版本
任何大于 2 的偶数,都能写成两个素数之和。 280 年无人证明,也无人推翻。
历史
1742 年,哥德巴赫写信给欧拉提出这个观察,欧拉把它精炼为上面那句话。它出了名地"好懂难证"——小学四年级能听懂,菲尔兹奖得主也啃不动。
已知什么
| 结果 | 内容 | 谁 |
|---|---|---|
| 弱哥德巴赫猜想(已证) | 任何大于 5 的奇数 = 三个素数之和 | Helfgott 2013 |
| 陈氏定理 | 大偶数 = 素数 + (素数或半素数) | 陈景润 1973 |
| 圆法 | 几乎所有偶数都能写成两素数之和(密度 1) | Hardy–Littlewood 1923 起 |
| 计算验证 | 强形式对所有偶数 \(\le 4\times10^{18}\) 成立 | Oliveira e Silva 等 2014 |
更精确的预言:不只是"有没有",还有"有多少"
Hardy–Littlewood 圆法给出偶数 \(2m\) 的两素数拆分数量的渐近公式:
\[G(2m) \approx 2C_2 \prod_{p\mid m,\,p>2}\frac{p-1}{p-2} \cdot \frac{2m}{\ln^2(2m)}\]
其中 \(C_2 \approx 0.66016\) 是孪生素数常数。这个公式不只预言存在性,还预言了拆分数的涨落结构。
自己验证
# 验证 10^4 以内所有偶数均有两素数和拆分,并统计最小对称半径
def primes_upto(n):
sieve = bytearray([1]) * (n + 1)
sieve[0:2] = b"\x00\x00"
for p in range(2, int(n**0.5) + 1):
if sieve[p]:
sieve[p*p::p] = bytearray(len(sieve[p*p::p]))
return sieve
S = primes_upto(10_000)
def isprime(n): return n >= 2 and S[n]
# 强哥德巴赫:6..10000 的每个偶数
for even in range(6, 10_001, 2):
assert any(isprime(k) and isprime(even - k) for k in range(2, even // 2 + 1)), even
# 最小对称拆分半径 r0(见进阶词条):偶数越大,素数离对称轴并不越远
def r0(m):
return next(k for k in range(1, m - 1) if isprime(m - k) and isprime(m + k))
print("100 的拆分对数:", sum(1 for k in range(2, 51) if isprime(k) and isprime(100 - k)))
print("r0(10) =", r0(10), "(10 = 7 + 13,两素数离对称轴 3 步)")
发布:2026-10-23 07:39:14 · 数论库