后期网站,50篇经典软文100字,咨询律师,网站建设 腾哥德巴赫猜想#xff08;升级版#xff09;
题目背景
1742 年 6 月 7 日#xff0c;哥德巴赫写信给当时的大数学家欧拉#xff0c;正式提出了以下的猜想#xff1a;任何一个大于 9 9 9 的奇数都可以表示成 3 3 3 个质数之和。质数是指除了 1 1 1 和本身之外没有其他约…哥德巴赫猜想升级版
题目背景
1742 年 6 月 7 日哥德巴赫写信给当时的大数学家欧拉正式提出了以下的猜想任何一个大于 9 9 9 的奇数都可以表示成 3 3 3 个质数之和。质数是指除了 1 1 1 和本身之外没有其他约数的数如 2 2 2 和 11 11 11 都是质数而 6 6 6 不是质数因为 6 6 6 除了约数 1 1 1 和 6 6 6 之外还有约数 2 2 2 和 3 3 3。需要特别说明的是 1 1 1 不是质数。
这就是哥德巴赫猜想。欧拉在回信中说他相信这个猜想是正确的但他不能证明。
从此这道数学难题引起了几乎所有数学家的注意。哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”。
题目描述
现在请你编一个程序验证哥德巴赫猜想。
先给出一个奇数 n n n要求输出 3 3 3 个质数这 3 3 3 个质数之和等于输入的奇数。
输入格式
仅有一行包含一个正奇数 n n n其中 9 n 20000 9 n 20000 9n20000。
输出格式
仅有一行输出 3 3 3 个质数这 3 3 3 个质数之和等于输入的奇数。相邻两个质数之间用一个空格隔开最后一个质数后面没有空格。如果表示方法不唯一请输出第一个质数最小的方案如果第一个质数最小的方案不唯一请输出第一个质数最小的同时第二个质数最小的方案。
样例 #1
样例输入 #1
2009样例输出 #1
3 3 2003直接判断素数的方法是会超时的。 使用埃拉托斯特尼筛法把素数都选出来再加和 n int(input())def erato(n):prime [True for i in range(n1)]p 2while p**2n:if prime[p] True:for i in range(p**2,n1,p):prime[i] Falsep1s []for i in range(2,n1):if prime[i]:s.append(i)return s
s erato(n)
temp 0
for i in s:for j in s:for k in s:if ijkn:a,b,c i,j,ktemp 1breakif temp 1:breakif temp 1:break
print(a,b)