Problem Description
哥德巴赫猜想:“任一大于2 的偶数都可写成两个质数之和”
现在通过设计程序在4 -100 内任选一个偶数验证这个猜想,输入一个不小于2的偶数n,找出两个素数,使它们的和为n。
Input
输入一个不小于2的偶数n。
Output
找出两个素数,使它们的和为n。只需要输出其中第一个素数最小的一组数据即可。
Example Input
6
Example Output
6=3+3
思想:1.将大于6的偶数拆成任意两个数
2.判断这两个数是否为素数
代码如下:
#include <stdio.h>
int judge_prime(int n)// 排除质数的情况
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i>=n)
return 1;
else
return 0;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=3;i<n;i++)
{
if(judge_prime(i)==1&&i%2==1&&judge_prime(n-i)==1&&(n-i)%2==1)//排除掉不符合条件的情况
{
printf("%d=%d+%d\n",n,i,n-i);
break;
}
}
return 0;
}