计算 pi 的小数第 N 位
Calculate N-th decimal digit of pi
我需要的:
计算 Pi 的第 N 十进制 位的函数。示例:
>>> pi_digit(1)
1
>>> pi_digit(2)
4
>>> pi_digit(3)
1
>>> pi_digit(4)
5
我尝试了什么:
搜索时,发现 code。它实际上做了我需要的,除了一件事 - 它计算 all N 位数字,而我只需要最后一个。这有可能以有效的方式完成吗? (如果我只是为最后一个字符切片字符串,它就不会那么快)。提前致谢。
为什么我需要它:
我打算将那个脚本(它会将数字附加到文本文件)放到我的服务器上并保留 20-30 天,然后检查输出。
参见:
Pi 数字的无界 Spigot 算法
杰里米·吉本斯
The program under discussion is written in Haskell [5], a lazy
functional programming language. As a secondary point of this paper,
we hope to convince the reader that such languages are excellent
vehicles for expressing mathematical computations, certainly when
compared with other general-purpose programming languages such as
Java, C, and Pascal, and arguably even when compared with computer
algebra systems such as Mathematica.
https://www.cs.ox.ac.uk/jeremy.gibbons/publications/spigot.pdf
可以用pidigits实现
https://github.com/transmogrifier/pidigits
pidigits is avalaible through Python Package Index (PyPI) using pip.
>>> pip install --upgrade pidigits
我需要的:
计算 Pi 的第 N 十进制 位的函数。示例:
>>> pi_digit(1)
1
>>> pi_digit(2)
4
>>> pi_digit(3)
1
>>> pi_digit(4)
5
我尝试了什么:
搜索时,发现 code。它实际上做了我需要的,除了一件事 - 它计算 all N 位数字,而我只需要最后一个。这有可能以有效的方式完成吗? (如果我只是为最后一个字符切片字符串,它就不会那么快)。提前致谢。
为什么我需要它:
我打算将那个脚本(它会将数字附加到文本文件)放到我的服务器上并保留 20-30 天,然后检查输出。
参见:
Pi 数字的无界 Spigot 算法
杰里米·吉本斯
The program under discussion is written in Haskell [5], a lazy functional programming language. As a secondary point of this paper, we hope to convince the reader that such languages are excellent vehicles for expressing mathematical computations, certainly when compared with other general-purpose programming languages such as Java, C, and Pascal, and arguably even when compared with computer algebra systems such as Mathematica.
https://www.cs.ox.ac.uk/jeremy.gibbons/publications/spigot.pdf
可以用pidigits实现
https://github.com/transmogrifier/pidigits
pidigits is avalaible through Python Package Index (PyPI) using pip.
>>> pip install --upgrade pidigits