1 / 7
文档名称:

求PI.doc

格式:doc   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

求PI.doc

上传人:xxj16588 2016/6/1 文件大小:0 KB

下载得到文件列表

求PI.doc

相关文档

文档介绍

文档介绍:求 PI 破解求 pi 的怪异程序 Cong Wang 25th November,2005 Institute of Post and munication, Xi'an, PRC work Engineering Dep. 引言网上流传着一个怪异的求 pi 程序, 虽然只有三行却能求出 pi 值连小数点前共 800 位。这个程序如下: /* 某年 Obfuscated C Contest 佳作选录:*/ #include < > long a=10000, b, c=2800, d, e, f[2801], g; main(){ for(;b-c;)f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b); } /*( 本程式可算出 pi 值连小数点前共 800 位) ( 本程式录自 FAQ, 原作者未详)*/ 咋一看,这程序还挺吓人的。别慌,下面就告诉你它是如何做到的, 并且告诉你写怪异 C 程序的一些技巧。^_^ 展开化简我们知道,在 C 语言中, for 循环和 while 循环可以互相代替。 for(statement1;statement2;statement3){ statements; } 上面的 for 语句可以用下面的 while 语句来代替: statement1; while(statement2){ statements; statement3; } 而且要写怪异的 C 程序, 逗号运算符无疑是一个好的助手, 它的作用是: 从左到右依次计算各个表达式的值,并且返回最右边表达式的值。把它嵌入 for 循环中是写怪异代码的常用技巧之一。所以, 上面的程序可以展开为: #include < > /*1*/ /*2*/ long a=10000, b, c=2800, d, e, f[2801], g; /*3*/ main(){ /*4*/ while(b-c!=0){ /*5*/ f[b]=a/5; /*6*/ b++; /*7*/ } /*8*/ d=0; /*9*/ g=c*2; /*10*/ while(g!=0){ /*11*/ b=c; /*12*/ d+=f[b]*a; /*13*/ f[b]=d%--g; /*14*/ d=d/g--; /*15*/ --b; /*16*/ while(b!=0){ /*17*/ d=d*b+f[b]*a; /*18*/ f[b]=d%--g; /*19*/ d=d/g--; /*20*/ --b; /*21*/ } /*22*/ c-=14; /*23*/ printf("%.4d",e+d/a); /*24*/ e=d%a; /*25*/ d=0; /*26*/ g=c*2; /*27*/ } /*28*/ } /*29*/ 现在是不是好看一点了? 进一步化简你应该能注意到 a 的值始终是 10000 ,所以我们可以把 a 都换成 10000 。再就是,仔细观察 g ,在外层循环中,每次循环用它做除法或取余时,它总是等于 2*c-1 ,而 b 总是初始化为 c 。在内层循环中,

最近更新

二零二五年度股权代持与公司品牌战略合作协议.. 36页

护理业务查房基础知识 50页

二零二五年度绿色能源项目合作协议3篇 53页

二零二五年度绿色建筑节能房屋买卖合同协议书.. 57页

二零二五年度综合交通枢纽代建工程合作协议3篇.. 53页

二零二五年度租赁房屋租赁合同电子版(含租赁.. 47页

苏教版五年级下比和比例 16页

二零二五年度生物医药租赁承租经营合作协议3篇.. 51页

二手房屋买卖合同交易合同争议解决3篇 49页

快递收发管理规定确定版 6页

动物的福利及其保健 125页

寺庙建筑工程施工合同 3页

蝙蝠和雷达公开课PPT课件一等奖新名师优质课获.. 39页

肾病综合征护理查房 28页

营养改善计划数据采集培训 89页

牛津英语模块四 powerPPT课件一等奖新名师优质.. 10页

大学生的情绪情感 40页

新北师大版五年级数学上册分数的再认识PPT课件.. 12页

高中生国旗下演讲稿感恩5篇范文 7页

高中军训心得体会必备的范文3篇 4页

骨干教师送教下乡工作总结5篇 9页

青春需要奋斗的经典演讲稿5篇 7页

防汛防洪个人心得体会800字5篇 8页

银行职员辞职申请报告7篇 10页

采购转正工作总结范文5篇 8页

事业单位工作人员流动审批表完整优秀版 9页

执业药师不在岗整改报告 5页

《合作协议》 7页

阿里web前端开发面试题104 14页

佛说天地八阳神咒经(注音)拼音版(精) 11页