问题描述:
验证"哥德巴赫猜想"
任何一个大于2的偶数都可以表示为两个质数之和。例如,4可以表示为2+2,6可以表示为3+3,8可以表示为3+5等
//验证"哥德巴赫猜想"
//任何一个大于2的偶数都可以表示为两个质数之和。例如,4可以表示为2+2,6可以表示为3+3,8可以表示为3+5等。
#include<stdio.h>
int is_prime(int m) //判断素数函数
{
int i;
if(m>1)
{
for(i=2;i<m;i++)
{
if(m%i==0)
{
return 0;
}
}
if(i>=m)
{
return 1;
}
}
else
{
return 0;
}
}
int main()
{
int x,i,y,z,j;
printf("请您输入一个偶数:");
scanf("%d",&x);
if(x<6)
{
printf("Error!\n");
}
else
{
for(i=2;i<=x/2;i++)
{
if(is_prime(i))
{
if(is_prime(x-i))
{
printf("%d=%d+%d\n",x,i,x-i);
}
}
}
}
return 0;
}
运行结果如下: