算圆周率的程序[转贴]
算圆周率的程序[转贴]
#include "stdio.h" long a=10000, b, c=28000, d, e, f[28010], g; void 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) ; } 请高手为我解释一下,为什么要这样编,以及给我们注释一下。 |
----------------解决方案--------------------------------------------------------
能告诉我"g=c*2"的"*"是乘呢,除呢,定平方呢?
----------------解决方案--------------------------------------------------------
以下是引用我是拉登在2004-07-22 20:34:37的发言:能告诉我"g=c*2"的"*"是乘呢,除呢,定平方呢?
document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" />
点击图片看大图!
不好意思,小的没看懂您老的代码,只好给个公式你自己看了!
[此贴子已经被作者于2004-07-24 15:26:04编辑过]
----------------解决方案--------------------------------------------------------
我是实在没看懂
符号太多
----------------解决方案--------------------------------------------------------
这里还有关于算圆周率的程序,果然神~
----------------解决方案--------------------------------------------------------
提供一个简单的公式,
pi=((2*n)!!/(2*n-1)!!)*((2*n)!!/(2*n-1)!!)/(2*n+1)
----------------解决方案--------------------------------------------------------
能不能解释一下是怎么得来得???好深奥啊
----------------解决方案--------------------------------------------------------
看冒星星了 ,算法诡异.
pi=((2*n)!!/(2*n-1)!!)*((2*n)!!/(2*n-1)!!)/(2*n+1)是根据什么原理得出的,可以透漏点吗?
----------------解决方案--------------------------------------------------------
呵呵!这是根据数学分析中的Walls公式得出,此公式可由积分知识得出!
另外由arctanx的麦克劳林展开也能得到一较易理解的公式!
----------------解决方案--------------------------------------------------------
看来得好好学学数学了!
----------------解决方案--------------------------------------------------------