跳转至

哥德巴赫猜想

层级:① 强形式为开放问题(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 · 数论库