处理php麻烦的Bailey-Borwein-Plouffe

时间:2015-05-14 16:44:50

标签: php math pi approximation

我正在尝试在php中实现BBP算法。我的代码返回一个小数,我认为它是奇数,因为它应该是十六进制。我被告知通过乘以16从十六进制转换为十进制,但现在它只是错误。这是一个示例:

$n1=$n2=$n3=$n4=$n5=$n6=$n7=$n8 =0;
$S1=$S2=$S3=$S4=$S5=$S6=$S7=$S8 = 0; //initializing
$k = 0;
$m1=  8*$k + 1;
$m2 = 8*$k + 4;
$m3 = 8*$k + 5;
$m4 = 8*$k = 6;

$b =16;
$e=$n-$k;


while($k<$n){ //Sum 1 of 8

    $S1 +=Modular($b, $m1, $e)/$m1; //see Moduler_Expansion.php

   $k++;

}

$k = $n +1; //redefine for second sum, and every other
while($k<$limit){ //Sum 2 of 8

    $S2 += (pow($b,$n-$k))/($m1);

   $k++; //now repeat similar process for each sum.
}

然后我重复BBP每个学期的过程:

$S = 4*($S1 + $S2) - 2*($S3+$S4) -($S5+$S6) - ($S7+$S8);

` 在维基页面之后,我然后剥离整数并乘以16,但是对于$ k = 0,我得到; 3.4977777777778 并且对于$ k = 1:7.9644444444448。

我不认为这些是正确的,它可能只是我不知道如何正确地解释输出。有人可以提供任何建议吗?

0 个答案:

没有答案