【发布时间】:2015-04-29 21:08:19
【问题描述】:
如何使用 Bailey–Borwein–Plouffe 公式计算 pi 的第 n 个二进制(或十六进制)数字?我已经在互联网和这个网站上彻底搜索了答案,但我仍然没有找到该算法的实际实现。
Wikipedia 上的 Bailey–Borwein–Plouffe 页面告诉我“该方法计算第 n 个数字而不计算第一个 n − 1 数字,并且可以使用小型、高效的数据类型”。问题是,页面只解释了这种形式的公式:
Pi = SUM k=0 to infinity ...
但我不知道如何使用这些信息来实际找到 pi 的第 n 位。 (你知道,我不想找到 Pi 本身的值,也不想将总和数到无穷大......)我只需要查看任何编程语言的示例或伪代码即可这在实践中。
int nthDigitOfPi(long n) {
// calculate and return the n-th binary digit of pi
// ...
}
提前致谢。非常感谢您的帮助。
【问题讨论】:
-
@גלעדברקן 谢谢,但似乎他们正在将 pi 计算到第 n 位,而不是 pi 的任意数字。我找不到任何东西可以用来计算 pi 的第 n 个二进制(或十六进制)数字。