pi如何计算到PHP中的一组数字?

时间:2009-11-24 07:53:10

标签: php math pi

如何计算PHP中pi的值,最多X个十进制数。

4小数点

  

3.141

64位小数

  

3.141592653589793238462643383279502884197169399375105820974944592

4 个答案:

答案 0 :(得分:3)

找到了@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);

答案 1 :(得分:0)

在php中计算PI?

为什么要计算我们已经有M_PI常数?

M_PI包含值3.14159265358979323846

PI的10000个小数位是一个很大的数字。

请参阅:http://www.php.net/manual/en/math.constants.php

答案 2 :(得分:0)

你可以通过Chudnosky系列计算Pi。如果你有一个非常高的ram服务器,你可以轻松地计算Pi到许多小数位。如果你想把它带到一些特定的小数位,那就把工作量增加到一个非常大的数字,然后用substr将它缩短到你需要的小数位。如果您认为此过程非常缓慢,那么您可以通过在谷歌上搜索获得pi值。

答案 3 :(得分:-4)

根据我所知,PHP不能保留一个数字,但22/7是一种计算PI的古老方法,尽管这不会比PHP中包含的PI常数更好。也许您正在尝试输出一长串PI作为练习。