圆周率c语言天书,c语言天书__圆周率的计算及分析

62e50291a81fc54b507f33cb80033297.gif c语言天书__圆周率的计算及分析

(5页)

6fb710620ce1dc1725ecbdcc937eb3ad.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

求圆周率 π 的 C 程序分析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); scanf(“%s“);}简短的 4 行代码,就可以精确计算机出 800 位的 PI(圆周率圆周率)值。 实在太震撼人心了。这样的程序也能运行,竟然还能能完成这样让人难以置信 的任务,真是太神了。一、源程序 本文分析下面这个很流行的计算 PI 的小程序。下面这个程序初看起来似乎摸不 到头脑,不过不用担心,当你读完本文的时候就能够基本读懂它了。程序一: 很牛的计算 Pi 的程序 #include int 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,这个程序所用的公式如下:pi = 2 + 1/3 * (2 + 2/5 * (2 + 3/7 * (2 + ... (2 + k/2k+1 * (2 + ... ))... )))至于这个公式为什么能够计算出 PI,已经超出了本文的能力范围。 下面要做的事情就是要分析清楚程序是如何实现这个公式的。 我们先来验证一下这个公式: 程序二:Pi 公式验证程序 #include void main() {float pi=2;int i;for(i=100;i>=1;i--)pi=pi*(float)i/(2*i+1)+2;printf(“%f\n“,pi);getchar();} 上面这个程序的结果是 3.141593。三、程序展开 在正式分析程序之前,我们需要对程序一进行一下展开。我们可以看出程序一 都是使用 for 循环来完成计算的,这样做虽然可以使得程序短小,但是却很难 读懂。根据 for 循环的运行顺序,我们可以把它展开为如下 while 循环的程序 :程序三:for 转换为 while 之后的程序 #include int a=10000,b,c=2800,d,e,f[2801],g; main() { int i; for(i=0;i

524d6daf746efaa52c3c71bbfe7ba172.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值