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;
}

本文介绍了一个基于哥德巴赫猜想的程序设计案例,该程序能够在4到100的范围内,验证任一偶数是否能表示为两个素数之和。通过输入一个不小于2的偶数,程序会输出符合条件的两个素数。
6644

被折叠的 条评论
为什么被折叠?



