哥德巴赫猜想是世界近代三大数学难题之一。1742年,哥德巴赫在教学中发现,每个不小于6的偶数都是两个素数(只能被和它本身整除的数)之和,如6=3+3,12=5+7等等。当年,哥德巴赫写信给当时的大数学家欧拉,提出了以下的猜想:
(a)任何一个≥6之偶数,都可以表示成两个奇质数之和。
(b)任何一个≥9之奇数,都可以表示成三个奇质数之和。
这就是著名的哥德巴赫猜想。目前最佳的结果是中国数学家陈景润于1966年证明的,称为陈氏定理(ChensTheorem)。“任何充分大的偶数都是一个质数与一个自然数之和,而后者仅仅是两个质数的乘积”,通常都简称这个结果为大偶数,可表示为“1+2”的形式。
#include <stdio.h>
#include <math.h>
int isPrime(int number){ //判断number是否素数
int i;
int n;
if(number == 1)
return 0;
n = sqrt(number) + 2;
for(i = 2;i < n;i++)
if(number % i == 0)
return 0;
return 1;
}
int main(void){
int number;
int i;
do{
printf("Enter an even number no less than 6:");
scanf("%d",&number);
}while((number < 6) || (number % 2 == 1));
for(i=2;i<=number/2;i++)
if(isPrime(i) && (isPrime(number - i))) //i和number - i都素数
printf("%d = %d + %d\n",number,i,number - i);
return 0;
}