计算圆周率Pi(π)值,精确到小数点后10000位

上传人:小** 文档编号:110219777 上传时间:2022-06-17 格式:DOC 页数:5 大小:145KB
收藏 版权申诉 举报 下载
计算圆周率Pi(π)值,精确到小数点后10000位_第1页
第1页 / 共5页
计算圆周率Pi(π)值,精确到小数点后10000位_第2页
第2页 / 共5页
计算圆周率Pi(π)值,精确到小数点后10000位_第3页
第3页 / 共5页
资源描述:

《计算圆周率Pi(π)值,精确到小数点后10000位》由会员分享,可在线阅读,更多相关《计算圆周率Pi(π)值,精确到小数点后10000位(5页珍藏版)》请在装配图网上搜索。

1、计算圆周率i()值,精确到小数点后10000位只需要30多句代码!(浏览77154次)VictorChen,(C+爱好者)大家都知道=314152无穷多位,历史上很多人都在计算这个数,一直认为是一个非常复杂的问题。现在有了电脑,这个问题就简单了。电脑可以利用级数计算出很多高精度的值,有关级数的问题请参考高等数学,以下是比较有名的有关的级数:7T224466=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这个程序太简单了,而且double的精度很低,只

3、能计算到小数点后10几位。把上面的程序改造一下,让它精确到小数点后面1000位再测试一下:在Form上再放一个按钮Button2,在这个按钮的OnClick事件写:void_fastcallTForml:Button2Click(TObject*Sender)constARRSIZE=1010,DISPCNT=1000;/定义数组大小,显示位数charxARRSIZE,zARRSIZE;x0x1.x2x3x4.xARRSIZE-1inta=1,b=3,c,d,Run=1,Cnt=0;memset(x,0,ARRSIZE);memset(z,O,ARRSIZE);x1=2;z1=2;while(

4、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.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229

5、489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279

6、381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317

7、328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989这下心理有底了,是不是改变数组大小就可以计算更多位数呢?答案是肯定的。如果把定义数组大小和显示位数改为:constARRSIZE=10100,DISPCNT=10000;/定

8、义数组大小,显示位数执行结果精度可达10000位:Pi=03.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861

9、045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717

10、629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288

11、658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151.限于篇幅,这里就省略了,还是留给你自己来算吧!502014102067235850200724522563265134105592401

12、90274216248439140359989535394590944070469120914093870012645600162374288021092764579310657922955249887275846101264836999892256959688159205600101655256375678提高精度的原理:以上程序的原理是利用数组把计算结果保存起来,其中数组每一项保存10进制数的一位,小数点定位在数组第1个数和第二个数之间,即小数点前面2位整数,其余都是小数位。利用电脑模拟四则运算的笔算方法来实现高精度的数据计算,没想到最原始的方法竟然是精度最高的167975678246.8+63889莖95/1234=806867210632354204534=511023040算法原理4U

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!