下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算圆周率i()值,精确到小数点后10000位只需要30多句代码!(浏览77154次)VictorChen,(C+爱好者)大家都知道=314152无穷多位,历史上很多人都在计算这个数,一直认为是一个非常复杂的问题。现在有了电脑,这个问题就简单了。电脑可以利用级数计算出很多高精度的值,有关级数的问题请参考高等数学,以下是比较有名的有关的级数:TOC o 1-5 h z7T224466=XXXXXX21335577Td11212323353577Fd1111=1+.435797F1111x31+x+6223x252x45x2J旁=1+界+歹+尹+其中有些计算起来很复杂,我们可以选用第三个,比较简单
2、,并且收敛的非常快。因为计算值,而这个公式是计算/2的,我们把它变形:=2+2/3+2/3*2/5+2/3*2/5*3/7+对于级数,我们先做个简单测试,暂时不要求精度:用C+Builder新建一个工程,在Form上放一个Memo1和一个Button1,在Button1的OnClick事件写:void_fastcallTForm1:Button1Click(TObject*Sender)doublex=2,z=2;inta=1,b=3;while(z1e-15)z=z*a/b;x+=z;a+;按Button1在Memo1显示出执行结果:Pi=3.1415926535898这个程序太简单了,而且
3、double的精度很低,只能计算到小数点后10几位。把上面的程序改造一下,让它精确到小数点后面1000位再测试一下:在Form上再放一个按钮Button2,在这个按钮的OnClick事件写:void_fastcallTForml:Button2Click(TObject*Sender)constARRSIZE=1010,DISPCNT=1000;/定义数组大小,显示位数charxARRSIZE,zARRSIZE;x0 x1.x2x3x4.xARRSIZE-1inta=1,b=3,c,d,Run=1,Cnt=0;memset(x,0,ARRSIZE);memset(z,O,ARRSIZE);x1
4、=2;z1=2;while(Run&(+Cnt0;i-)c=zi*a+d;zi=c%10;d=c/10;/z/=b;d=0;for(inti=0;iARRSIZE;i+)c=zi+d*10;zi=c/b;d=c%b;按Button2执行结果:Pi=03.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852
5、110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188
6、575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297
7、80499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989这下心理有底了,是不是改变数组大小就可以计算更多位数呢?答案是肯定的。如果把定义数组大小和显示位数改为:constARRSIZE=10100,DI
8、SPCNT=10000;/定义数组大小,显示位数执行结果精度可达10000位:Pi=03.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648
9、566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943
10、702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010
11、00313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151.限于篇幅,这里就省略了,还是留给你自己来算吧!50201410206723585020072452256326513410559240190274216248439140359989535394590944070469120914093870012645600162374288021092764579310657922955249887275846101264836999892256959688159205600101655256375678提高精度的原理:以上程序的原
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5.1 细胞的分裂与分化-2024-2025学年七年级上册生物同步练习(苏科版2024)
- 2.1 生物生存依赖一定的环境(第1课时)-2024-2025学年七年级上册生物教学设计(苏科版2024)
- 外卖垃圾的调研报告
- 成长书的读后感模板8篇
- 采访报告模板
- 红色复古花艺简约清新培训课件
- 工人技师述职报告
- 安徽省滁州市新锐高级中学2024-2025学年高二上学期第一次月考数学试题(无答案)
- 2022年个人工作总结
- 方案策划的个人总结
- 【年产2000吨PVC颗粒生产工艺设计10000字(论文)】
- 六年级小升初英语语法知识总结
- 中国法律史-第二次平时作业-国开-参考资料
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- 康养项目策划方案(2篇)
- 2024中国移动智慧家庭智能组网Wi-Fi7发展白皮书
- 青年创新创业座谈会致辞发言
- 葡萄糖醛酸在毒性物质代谢中的作用
- 流行性感冒应急
- 中国低电压治理行业市场现状分析及竞争格局与投资发展研究报告2024-2034版
- 人教版四年级数学下册第三单元《运算律》同步教学设计
评论
0/150
提交评论