用 JavaScript 演算圆周率 pi(二)

1399次阅读  |  发布于5年以前

之前我在百度空间上发表过一篇文章《用 JavaScript 演算圆周率 pi》,用的是面积的办法,涉及到随机点。而计算机中的随机数是通过随机种子产生的,并不是真正意义上的随机数,我们称它为 伪随机数。伪随机数的缺限是在足够大的样本当中,无法满足均匀分布。因此通过随机点的办法来演算圆周率并不能获得足够准确的结果。

我后来查找圆周率的相关资料发现,圆周率可以由很多个公式计算出来,下面列举两个:

pi * pi = 6 * (1 + 1/4 + 1/9 + 1/16 + 1/25 + ...)  
pi * pi = 8 * (1 + 1/9 + 1/25 + 1/49 + 1/81 + ...)  

以后者为例,于是我们又可以用如下方法来演算 pi,当然仅研究用,并无实际用途:

var n = -1;  
var p = 0;  
var pi;  
setInterval(function(e){  
    n += 2;  
    p += 1 / n / n;  
    pi = Math.sqrt(8 * p);  
    document.body.innerHTML = pi;  
}, 1);  

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8