标签:哥德巴赫猜想
<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; }
标签:哥德巴赫猜想
原文地址:http://blog.csdn.net/u012110719/article/details/44850555