:0->M
:0->N
:0->X
:0->Y
:FOR(K,1,10)
:rand->X
:rand->Y
:If (X^2+Y^2)<=1
:THEN
:(M+1)->M
:(N+1)->N
:END
:If (X^2+Y^2)>1
:THEN
:(M+1)->M
:END
:END
:4*N/M->P
-----------------------------------------------------------------------------
以上程序在TI-76.fr上运行,迭代10次的结果(p)值为3.2,各位可以在自己的机器上试一下。
ps:
原理我想大家都会很清楚,半径为1的圆的面积为PI,而其外切正方形的面积为4,因此在{(x,y):0<=x<=2,0<=y<=2}区域内随机投点的概率落在园内的极限趋于PI/4.
希望看到大家的计算结果,不过有些机器可能会比较长时间。 概率算法啊。。精度太低了 呵呵,这相当于投点实验,把FOR循环中的10换成100,000,000试试。 我倒。。。
让Core i7 II算吧 看看哪位的精度高,时间短吧 PROGRAM:CALPI
:0->M
:0->N
:0->X
:0->Y
:FOR(K,1,10)
:rand->X
:rand->Y
:If (X^2+Y^2)M
:(N+1)->N
:END
:If (X^2+Y^2)>1
:THEN
:(M+1)->M
:END
:END
:4*N/M->P
------------------------------ ...
cleansky 发表于 2011-2-17 20:56 http://www.cncalc.org/images/common/back.gif
我用50F写过一个……算的很慢,还不如用级数求和 不知道CAS和9860II怎么样哈 级数求和没用的,内部精度决定了最多显示多少小数
页:
1
[2]