作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何在 PHP 中计算 pi 的值直到 X 个十进制数。
4 位小数
3.141
64 位小数
3.141592653589793238462643383279502884197169399375105820974944592
最佳答案
找到@Konamiman 发布的失效链接的来源。
将结果与:http://www.angio.net/pi/digits/50.txt 进行比较他们是一样的。
// Source: http://mgccl.com/2007/01/22/php-calculate-pi-revisited
function bcfact($n)
{
return ($n == 0 || $n== 1) ? 1 : bcmul($n,bcfact($n-1));
}
function bcpi($precision)
{
$num = 0;$k = 0;
bcscale($precision+3);
$limit = ($precision+3)/14;
while($k < $limit)
{
$num = bcadd($num, bcdiv(bcmul(bcadd('13591409',bcmul('545140134', $k)),bcmul(bcpow(-1, $k), bcfact(6*$k))),bcmul(bcmul(bcpow('640320',3*$k+1),bcsqrt('640320')), bcmul(bcfact(3*$k), bcpow(bcfact($k),3)))));
++$k;
}
return bcdiv(1,(bcmul(12,($num))),$precision);
}
echo bcpi(1000);
关于php - 如何在 PHP 中将 pi 计算为一组数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1788519/
我是一名优秀的程序员,十分优秀!