用PHP计算Pi
发布时间:2020-12-13 21:33:04 所属栏目:PHP教程 来源:网络整理
导读:好吧,这只是我和我的同事正在玩的东西. 我们知道 PHP有它自己的PI功能,但这是出于理论和好奇心. 所以我们想知道PHP是否以及如何计算pi. 配方pi =π= 4/1 – 4/3 4/5 – 4/7 4/9 …… 这是我们做的: $theValue = 100;// the max for ($i=1; $i$theValue; $i+
好吧,这只是我和我的同事正在玩的东西.
我们知道 PHP有它自己的PI功能,但这是出于理论和好奇心. 所以我们想知道PHP是否以及如何计算pi. 这是我们做的: $theValue = 100;// the max for ($i=1; $i<$theValue; $i++){ if ($i % 2 == 1){ $iWaardes[] = 4 / $i; // divide 4 by all uneven numbers and store them in an array } } // Use the array's $keys as incrementing numbers to calculate the $values. for ($a=0,$b=1,$c=2; $a<$theValue; $a+=3,$b+=3,$c+=3 ){ echo ($iWaardes[$a] - $iWaardes[$b] + $iWaardes[$c]).'<br>'; } 所以现在我们有一个循环计算了第一个4/1 – 4/3 4/5系列,但它在此之后停止并从以下3个序列开始. 请记住,这不是什么严重的事情,对我们来说只是一个有趣的实验. 解决方法
只需使用一个循环.有一个$bottom变量,你在每次迭代时加2,除以它,并根据模数加/减它:
$theValue = 10000; // the max $bottom = 1; $pi = 0; for ($i = 1; $i < $theValue; $i++) { if ($i % 2 == 1) { $pi += 4 / $bottom; } else { $pi -= 4 / $bottom; } $bottom += 2; } var_dump($pi); // 3.14169266359 Demo 你的代码有什么问题(除了没有用适当的数字除外)是第二个循环.您出于某种原因打印出存储的数字3乘以3.这直到$a,增加3,低于$theValue,这要高得多.因此,例如,如果$theValue为10,则在开始出现绑定错误之前只需要2个循环. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |