验证歌德巴赫猜想:从键盘上输入大于6的任意一个偶数,都能找到两个素数之和等于

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:01:18
尽量初学者看得懂 谢谢

问题的实质就是找出这样的偶数可以被两个质数之和表示。
#include <stdio.h>
#include <stdlib.h>
int IsPrime(int n)
{
int flag=0,i;
if(n<=1)
flag=0;
if(n==2)
flag=1;
else if(n>2)
{
for(i=2;i<n;i++)
if(n%i==0)
break;
if(n==i)
flag=1;
}
return flag;
}
void SumPrime(int n)
{
int i,j,a,b;
for(i=3;i<n;i++)
{
if(IsPrime(i)==1)&&(IsPrime(n-i)==1)
{ a=i; b=n-j;}

}
printf("The num %d can be described by %d and %d ",n,a,b);

}
void mai()
{
int i;
printf("Please input an even integer i(i>6):\n");
scanf("%d",&i);
if((i>=6)&&(i%2==0))
SumPrime(i);
else {printf('Invalid input!\n');
exit(0);

}

你已经说的很清楚了呀,只是包括6,所以不是大于6,是不小于6
本身这个命题也很简单,任意一个不小于6的偶数数都等于2个素数之和,任意一个大于7的奇数都是3个素数之和
基本上可以说是这样的,只是没有人可以