分享

歌德巴赫猜想(素数判断程序)

 Frank_Chia 2009-07-21
陈景润在中国科学院的刊物《科学通报》第十七期上宣布他已经证明了(1+2)。
1742年,德国数学家哥德巴赫在给他同行欧拉的一封信中提出了:每个不小于6的偶数都是两个素数之和(简称“1+1”)的设想,被后人称为“哥德巴赫猜想”。目前利用计算机还只能证明到10的14次方为止哥德巴赫猜想是成立的,而严格的数学论证则要求其解释对所有的数都有效。 
中国数学家陈景润1973年发表论文《大偶数表为一个素数与不超过两个素数乘积之和》(即“1+2”),把哥德巴赫猜想证明大大推进了一步,国际上称之为“陈氏定理”。
歌德巴赫猜想概念:
质数(素数):只能被1和它本身,而不能被别的数整除的数。如2,3,5,7,11,13,……。
  合数:除了1和它本身以外,还能被别的数整除的数。如4,6,8,9,10,12,……。1不是质数也不是合数。
  质因数(素因子):如果一个整数能被一个质数整除,这个质数就叫做这个整数的质因数。如6,就有2和3两个质因数。如30,就有2,3和5三个质因数。每个合数都可以写成几个质因数的积,如782=2×17×23。
  一七四二年,哥德巴赫写信给欧拉时,提出了:每个不小于6的偶数都是两个质数之和。例如,6=3+3。又如,24=11+13等等。有人对一个一个的偶数都进行了这样的验算,一直验算到了三亿三千万之数,都表明这是对的。但是更大的数目,更大更大的数目呢?猜想起来也该是对的。猜想应当证明。要证明它却很难很难。 
  整个十八世纪没有人能证明它。 
  整个十九世纪也没有人能证明它。 
  到了二十世纪的二十年代,问题才开始有了点儿进展。 
  很早以前,人们就想证明,每一个大偶数是两个“素因子不太多”的数之和。他们想这样子来设置包围圈,想由此来逐步证明哥德巴赫这个命题一个素数加一个素数(1+1)是正确的。 
  一九二0年,挪威数学家布朗,用一种古老的筛法(这是研究数论的一种方法)证明了:每一个大偶数是两个“素因子都不超九个”的数之和。布朗证明了:九个素因子之积加九个素因子之积,(9+9),是正确的。这是用了筛法取得的成果。但这样的包围圈还很大,要逐步缩小之。果然,包围圈逐步地缩小了。
  1924年,德国的拉特马赫证明了"7+7";
  1932年,英国的埃斯特曼证明了"6+6";
  1937年,意大利的蕾西先后证明了"5+7"、"4+9"、"3+15"和"2+366";
  1938年,苏联的布赫夕太勃证明了"5+5",1940年他又证明了"4+4";
  1948年,匈牙利的兰恩尼证明了"1+C",其中C很大;
  1956年,中国的王元(1930~ )证明了"3+4";1957年,他又先后证明了"3+3"和"2+3";
  1962年,中国的潘承洞(1934~ )和苏联的巴尔巴恩证明了"1+5";
  1962年,中国的王元证明了"1+4";1963年,中国的潘承洞和苏联的巴尔巴恩证也证明了"1+4";
  1965年,苏联的布赫夕太勃和小维诺格拉夫及意大利的波波里证明了"1+3";
  一九六六年五月,一颗璀璨的讯号弹升上了数学的天空,陈景润在中国科学院的刊物《科学通报》第十七期上宣布他已经证明了(1+2)。
著名的歌德巴赫猜想:
不小于6的偶数都能表示成两个奇质数的和。用简化的方法表示成1+1
乍一看起来“歌德巴赫猜想”似乎容易验证:6=3+3,8=3+5,0=5+5……从这里可以看出,凡是大于4的偶数,一定可以用两个奇素数之和来表示,偶数与质数都是无穷无尽的,如果一个偶数大到几百万,几千万,甚至几万亿,也要用两个素数的和来表示,就不那么容易了。
 
//素数判断程序
#include<stdio.h>
#include<math.h>
void main()
{
long i,n,k; //整数用long类型
do{//用do...while循环还好点,不要用goto
printf("请输入一个整数:");
scanf("%ld",&n); 
k=(long)sqrt(n); //转换成long类型
for(i=2;i<=k;i++)
{
if(n%i==0)break;
}
if(i>k)
printf("这是一个素数.\n");
else
printf("这不是一个素数.\n");
}while(n>=3);//如果输入的数>=3则继续,否则结束
}
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多