孪生素数猜想
层级:① 上界问题为开放问题(有界间隙已证)· 来源:de Polignac (1849) / Brun (1919) / Zhang (2013) / Maynard–Polymath8b (2014–15)
一句话版本
相差 2 的素数对(3 与 5、11 与 13、……)有没有无穷多对? 无人知道。但可以证明:靠得很近的素数对一定有无穷多。
已知什么
| 结果 | 内容 | 谁 |
|---|---|---|
| Brun 定理 (1919) | 所有孪生素数对的倒数和收敛(≈1.9022)——孪生素数比素数稀得多 | Brun |
| Zhang (2013) | 存在无穷多对间距小于 \(7\times10^7\) 的素数 | 张益唐 |
| Maynard–Polymath8b (2014–15) | 间距上界压到 246(当前最优) | Maynard / Polymath |
Brun 定理的推论很有画面感:即使孪生素数无穷多,\(\sum 1/p\) 也是有限的——而全体素数的倒数和发散。孪生素数在素数里是"稀有品种"。
精确预言(猜想,未证)
Hardy–Littlewood (1923) 预言孪生素数对的计数函数:
\[\pi_2(x) \approx 2C_2 \int_2^x \frac{dt}{\ln^2 t}, \qquad C_2 \approx 0.66016\]
\(C_2\) 就是孪生素数常数。实测 \(\pi_2(10^6) = 8{,}169\) 对。
自己验证
# 验证 10^6 以内孪生素数对数 = 8169
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(1_000_000)
pairs = sum(1 for p in range(2, 1_000_000 - 2) if S[p] and S[p + 2])
assert pairs == 8169, pairs
print(f"pi_2(10^6) = {pairs} 对")
发布:2026-10-23 07:39:14 · 数论库