- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
证明哥德巴赫猜想在100000以内成立
我介绍一下我的程序(我将数据从“0—4292967295”缩小到“0—100000”):由于哥德巴赫猜想要求偶数与质数的关系,偶数用一个循环“for(q=2;q=100000;q++,q++)”很轻松就可以解决,而质数呢?我们不可能一样就看出100000以内的所有质数,而且指数也不像数列那样有明显的递归关系,所以我们需要十万以内的所有质数放到一个数组里面。那么问题来了:你该定以多大的数组,也就是说我们并不知道十万以内到底有多少个质数。为了解决这个问题,我们需要先编写一个简单的程序来得到十万以内的质数个数,所以就有了我的第一个程序“求100000以内的质数个数”,运行这个程序,我们可以得到一个结果:小于100000的质数有9591个。解决了这个问题我们就可以在正式的证明程序中创建一个包含9591个整型数据的数组,然后再调用函数“void zhishu(int[])”将这9591个数放到数组a[9591]之中。接下来的工作就是对十万以内的所有偶数逐一进行验证,这里我调用“void jiancha(int[])”函数来进行检查。这里我再聒噪一下“void jiancha(int[])”函数:函数中的:q是表示要检验的那个偶数;i和j是控制循环的变量;l的存在是为了防止重复的出现:如果把变为运行结果就会由变为会导致数值的重复出现;k的存在是为了加快运行速度;最后的“GC()”(也就是getchar())的出现是为了能够自行控制运算过程,而且加上这一句会让文件夹中的应用程序.exe格式直接运行而不闪退。#includestdio.h#includemath.h#define P printf#define S scanf#define PC putcharvoid main(){inti,j,o,n=0;for(i=1;i=100000;i++,i++){o=sqrt(i);if(o*o==i)continue;elseo++;for(j=2;ji;j++){if(i%j==0)break;}if(j==i){if(n%5==0n!=0)PC(\n);n++;P(%d\t,i);}}P(\n总共有%d个数\n,n);getchar();}//运行结果:小于100000的质数有9591个#includestdio.h#includemath.h#define P printf#define S scanf#define PC putchar#define GC getcharvoid main(){voidzhishu(int[]);voidjiancha(int[]);int a[9591];zhishu(a);jiancha(a);}voidzhishu(int a[]){inti,j,o,n=0;for(i=1;i=100000;i++,i++){o=sqrt(i);if(o*o==i)continue;elseo++;for(j=2;ji;j++){if(i%j==0)break;}if(j==i){a[n]=i;n++;}}}voidjiancha(int a[]){intq,i,j,n,k,l;for(q=6;q=100000;q++,q++){for(n=0;(q/2)=a[n];n++)l=n+1;for(n=0;qa[n];n++)k=n+1;for(i=0;il;i++){for(j=0;jk;j++){if(a[i]+a[j]==q)P(%d=%d+%d\n,q,a[i],a[j]);}if(j==q)P(哥德巴赫猜想对于偶数%d不成立,q);}P(请键入回车键继续);GC();PC(\n);}if(q100000)P(哥德巴赫对于100000以内的偶数都成立\n);}
原创力文档


文档评论(0)