欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

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

  • 资源ID:110219777       资源大小:145KB        全文页数:5页
  • 资源格式: DOC        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

计算圆周率i()值,精确到小数点后10000位只需要30多句代码!(浏览77154次)VictorChen,(C+爱好者)大家都知道=314152无穷多位,历史上很多人都在计算这个数,一直认为是一个非常复杂的问题。现在有了电脑,这个问题就简单了。电脑可以利用级数计算出很多高精度的值,有关级数的问题请参考高等数学,以下是比较有名的有关的级数:7T224466=XXXXXX21335577Td11212323353577Fd1111=1+.435797F1111x31+x+6223x252x45x2J旁=1+界+歹+尹+其中有些计算起来很复杂,我们可以选用第三个,比较简单,并且收敛的非常快。因为计算值,而这个公式是计算/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(z>1e-15)z=z*a/b;x+=z;a+;按Button1在Memo1显示出执行结果:Pi=3.1415926535898这个程序太简单了,而且double的精度很低,只能计算到小数点后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(Run&&(+Cnt<200000000)/z*=a;d=0;for(inti=ARRSIZE-1;i>0;i-)c=zi*a+d;zi=c%10;d=c/10;/z/=b;d=0;for(inti=0;i<ARRSIZE;i+)c=zi+d*10;zi=c/b;d=c%b;按Button2执行结果:Pi=03.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989这下心理有底了,是不是改变数组大小就可以计算更多位数呢?答案是肯定的。如果把定义数组大小和显示位数改为:constARRSIZE=10100,DISPCNT=10000;/定义数组大小,显示位数执行结果精度可达10000位:Pi=03.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151.限于篇幅,这里就省略了,还是留给你自己来算吧!50201410206723585020072452256326513410559240190274216248439140359989535394590944070469120914093870012645600162374288021092764579310657922955249887275846101264836999892256959688159205600101655256375678提高精度的原理:以上程序的原理是利用数组把计算结果保存起来,其中数组每一项保存10进制数的一位,小数点定位在数组第1个数和第二个数之间,即小数点前面2位整数,其余都是小数位。利用电脑模拟四则运算的笔算方法来实现高精度的数据计算,没想到最原始的方法竟然是精度最高的167975678246.8+63889莖95/1234=806867210632354204534=511023040算法原理4U

注意事项

本文(计算圆周率Pi(π)值,精确到小数点后10000位)为本站会员(小**)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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