试题描述
任何大于2的偶数,都可以写成两个素数之和(俗称1+1)。
给定一个偶数,输出它的猜想式子。
例如:2008=5+2003(如果有多个表达式,输出前一个加数最小的表达式)
输入
输入一个偶数n,且2 < n <= 10000。
输出
输出满足歌德巴赫猜想的第一个加数最小的表达式。
输入示例
2008
输出示例
2008=5+2003
数据范围
对于100%的数据,2 < n <= 10000
参考代码(非最简;易懂型)
#include<stdio.h>
int issushu(int num)
{
for(int j=2;j<num;j++)
{
if(num%j==0) {
return 0;
}
}
return 1;
}
int sushu()
{
int flag=1;
static int su=2;
if(su==2)
{
su=3;
return 2;
}
for(int i=su;;i++)
{
flag=1;
for(int j=2;j<su;j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag) {su=i+1;return i;}
}
}
int main()
{
int m,n,q,p;
scanf("%d",&m);
for(;;)
{
q=sushu();
if(issushu(m-q))
{
printf("%d=%d+%d",m,q,m-q);
return 0;
}
}
}
Code language: PHP (php)
如未特殊声明,文章均为原创。
本文标题:歌德巴赫猜想
本文链接:https://manwish.cn/article/%e6%ad%8c%e5%be%b7%e5%b7%b4%e8%b5%ab%e7%8c%9c%e6%83%b3.html
本文标题:歌德巴赫猜想
本文链接:https://manwish.cn/article/%e6%ad%8c%e5%be%b7%e5%b7%b4%e8%b5%ab%e7%8c%9c%e6%83%b3.html