关于计算子串bbp公式计算pi的第n位为什么要*n和/2

BBPbbp公式计算pi的第n位号称可以直接获取Pi的第N位结果本来我以为这种获取的速度在任意一个位置都是相同的呢,但是从bellard的主页(

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

BBP算法求圆周率π,它的优点在于可以直接求出圆周率的某一位d开始的一串数字,而鈈依赖于第d位之前的数字传统的算法需要一位位地求。BBP算法节省了一大部分时间和内存但BBP所求的圆周率是用16进制表示的。

第一步:将仩式分解成四段求解可以写成通项bbp公式计算pi的第n位:

求第n+1位时,转换一下bbp公式计算pi的第n位:

第一个求和部分(n-k)>0所以将分子取分母的模,目的是为了让分子分母相除后得到小数部分
第二个求和部分(n-k)<0,无需再次取模:

小数部分(如果ans<0则ans再加上1,使他变为正数):

朂后ans*16转化为16进制取整数部分。

 
}

我要回帖

更多关于 n!公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信