<span style="font-size:14px;">世界三大数学猜想编辑
即<span style="color:#FF0000;">费马猜想、四色猜想和哥德巴赫猜想</span>。
费马猜想的证明于1994年由英国数学家安德鲁·怀尔斯(Andrew Wiles)完成,遂称费马大定理;
四色猜想的证明于1976年由美国数学家阿佩尔(Kenneth Appel)与哈肯(Wolfgang Haken)借助计算机完成,遂称四色定理;
哥德巴赫猜想尚未解决,目前最好的成果(陈氏定理)乃于1966年由中国数学家陈景润取得。这三个问题的共同点就是题面简单易懂,
内涵深邃无比,困扰了一代代的数学家。
哥德巴赫猜想
猜想:
史上和质数有关的数学猜想中,最著名的当然就是“哥德巴赫猜想”了。
1742年6月7日,德国数学家哥德巴赫在写给著名数学家欧拉的一封信中,提出了两个大胆的猜想:
一、任何不小于4的偶数,都是两个质数之和(如:4=2+2);
二、任何不小于7的奇数,都是三个质数之和(如:7=2+2+3)。
这就是数学史上著名的“哥德巴赫猜想”。显然,第二个猜想是第一个猜想的推论。因此,只需在两个猜想中证明一个就足够了。
</span>
程序验证(在一定范围之内,int范围)哥德巴赫猜想:
#include<stdio.h>
#include<stdlib.h>
//判断一个数是不是质数(素数)
int isPrime(int num)
{
if(num<=1)
{
return 0;
}
else if(num==2|| num==3)//2是素数中唯一的偶数,3是素数中最小的奇数,素数中除了2其余都是奇数
{
return 1;
}
else
{
int flag=1;
for(int i=2;i<num;i++)//i<num可以改写成i<=num/2
{
if(num%i==0)
{
flag = 0;
break;
}
}
return flag;
}
}
//判断是不是偶数,因为程序要求一个偶数可否由两个质数组成,前提是输入的是偶数
int isOu(int data)
{
if(data%2==0)
{
return 1;//偶数返回1
}
else
{
return 0;//奇数返回0
}
}
//主函数
int main()
{
int data;
scanf("%d",&data);
if(isOu(data)==0)
{
printf("输入的不是偶数!\n");
}
else if(data==2)
{
printf("输入的偶数必须是大于等于4!\n");
}
else
{
for(int i=2;i<data;i++)
{
if(isPrime(i)==1&&isPrime(data-i)==1)//判断是不是都是质数,那个==1可以省略不写,默认就是1
{
printf("%d=%d+%d",data,i,data-i);//分解的两个质数相加为data
break;//找到一个就跳出循环
}
}
}
printf("\n");
return 0;
}