#include <stdio.h>
#include <math.h>
#define N 50
int single(int n)//返回素数
{
int i=0;
int s=(int)sqrt(n);
if(n==1)
return 1;
else
{
for(i=2;i<=s;i++)
{
if(n%i==0)
break;
}
if(i>s)
return n;
else
return 0;
}
}
int main()
{
int i,j,k,l;
printf("满足任何一个大于4的偶数都可以表示为两个素数之和的等式:\n");//哥德巴赫猜想(1)
for(i=5;i<=N;i++)
{
if(i%2==0)//大于4的偶数
{
for(j=1;j<=N;j++)
{
for(k=1;k<=N;k++)
{
if(single(j)&&single(k)&&(j+k==i))
printf("%d + %d= %d\t",j,k,i);
else
continue;
}
}
}
}
printf("\n满足任何一个大于9的奇数都可以表示为三个素数之和的等式:\n");//哥德巴赫猜想(2)
for(i=10;i<=N;i++)
{
if(i%2!=0)//大于4的偶数
{
for(j=1;j<=N;j++)
{
for(k=1;k<=N;k++)
{
for(l=1;l<=N;l++)
{
if(single(j)&&single(k)&&single(l)&&(j+k+l==i))
printf("%d+%d+%d=%d\t",j,k,l,i);
else
continue;
}
}
}
}
}
return 0;
}
随便写写,希望对你有用!