使用Bailey-Borwein-Plouffe(BBP)公式计算π的第n位数字

11
我该如何使用贝利-博尔温-普洛夫公式计算π的第n个二进制(或十六进制)数字?我已经在互联网和本站彻底搜索了答案,但仍未找到实际实现该算法的方法。
维基百科上的贝利-博尔温-普洛夫页面告诉我,“该方法可以计算第n位数字而无需计算前n-1位数字,并且可以使用小型高效数据类型”。问题是,该页面只以以下形式解释了该公式:
Pi = SUM k=0 to infinity ...

但是我不知道如何使用这些信息来实际找到圆周率的第n位数字。(你知道,我不想找到Pi本身的值,也不想计算无穷大的总和...)我只需要在任何编程语言或伪代码中看到一个实际操作的例子。

int nthDigitOfPi(long n) {
    // calculate and return the n-th binary digit of pi
    // ...
}

非常感谢您的帮助。您的帮助将不胜感激。


可能相关:https://dev59.com/SVrUa4cB1Zd3GeqPnteM - גלעד ברקן
@גלעדברקן 谢谢,但似乎他们正在计算 pi 的第 n 位数字,而不是 pi 的任意位数。我找不到任何可以用来计算 pi 的第 n 个二进制(或十六进制)数字的东西。 - George
请返回翻译后的文本:http://latkin.org/blog/2012/11/03/the-bailey-borwein-plouffe-algorithm-in-c-and-f/http://www.experimentalmath.info/bbp-codes/piqpr8.c - גלעד ברקן
1个回答

1

嘿,这个网站有一个Python的解决方案, archive.org链接

我正在尝试用PHP实现它,如果成功了我会发布出来。为了澄清,您是否也想要BBP解决方案来计算π?


1
@ChuckFulminata 档案馆网站来救了! - TecBrat
请注意,对于未来的回答者:Chuck Fulminata的评论正是为什么在Stack Exchange网站上不鼓励仅提供链接的答案。 - wizzwizz4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接