验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5,…,18=5+13。要求将输入的一个偶数表示成两个素数之和。试编写相应程序。
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,n,m,k;
scanf("%d",&n);
for(a=3;a<=n/2;a++)
{
for(m=2;m<=a/2;m++)
if(a%m==0)
break;
if(m>a/2)
b=n-a;
for(k=2;k<=b/2;k++)
if(b%k==0)
break;
if(k>b/2)
{
printf("%d=%d+%d ",n,a,b);
break;
}
}
return 0;
}