哥德巴赫猜想:任何大于2的偶数可以分成两个素数之和(例如18=11+7),请验证哥德巴赫猜想。 编程提示:设偶数为n,将n分解成n1和n2且n=n1+n2,显然n1最大为n/2。 首先判断n1是否为素数,如果是,再判断n2是否为素数,如果是输出n=n1+n2。
输入格式:
输入一个偶数。
输出格式:
输出n=n1+n2的形式,如果有多个,一行输出一个。
输入样例:
在这里给出一组输入。例如:
44
输出样例:
在这里给出相应的输出。例如:
44=3+41
44=7+37
44=13+31
#include <stdio.h>
int gd(int n){
int i,k=1;
for(i=2;i<=n/2;i++)
if(n%i==0) {k=0;break;}
return k;
}
void main(){
int i,n;
scanf("%d",&n);
if(n<5||n%2)
printf("Data error!");
else for(i=2;i<=n/2;i++)
{
if (gd(i)*gd(n-i))
printf("%d=%d+%d\n",n,i,n-i);
}
}