哥德巴赫猜想python实现
哥德巴赫猜想(Goldbach's conjecture)是数论中存在最久的未解问题之一。这个猜想最早出现在1742年普鲁士数学家克里斯蒂安·哥德巴赫与瑞士数学家莱昂哈德·欧拉的通信中。用现代的数学语言,哥德巴赫猜想可以陈述为:
“ 任一大于2的偶数,都可表示成两个素数之和。 ”
这个猜想与当时欧洲数论学家讨论的整数分拆问题有一定联系。整数分拆问题是一类讨论“是否能将整数分拆为某些拥有特定性质的数的和”的问题,比如能否将所有整数都分拆为若干个完全平方数之和,或者若干个完全立方数的和等。而将一个给定的偶数分拆成两个素数之和,则被称之为此数的哥德巴赫分拆。例如,
4 = 2 + 2
6 = 3 + 3
8 = 3 + 5
10 = 3 + 7 = 5 + 5
12 = 5 + 7
14 = 3 + 11 = 7 + 7
…
换句话说,哥德巴赫猜想主张每个大于等于4的偶数都是哥德巴赫数——可表示成两个素数之和的数[1]。哥德巴赫猜想也是二十世纪初希尔伯特第八问题中的一个子问题。
import math
def prime(n):
# 只需判断[2 .. sqrt(n)]即可
for i in range(2, int(math.sqrt(n) + 1)):
if n % i == 0:
return False
return True
n = int(input("请输入一个偶数:"))
primes = [i for i in range(2, n) if prime(i)]
for i in primes:
for j in primes:
if i < j and i + j == n:
print(f"{n} = {i} + {j}")
运行结果:
请输入一个偶数:100000
100000 = 11 + 99989
100000 = 29 + 99971
100000 = 71 + 99929
100000 = 167 + 99833
...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!