我需要什么:
计算Pi的第N个十进制位的函数。例如:
>>> pi_digit(1)
1
>>> pi_digit(2)
4
>>> pi_digit(3)
1
>>> pi_digit(4)
5
我尝试了什么:
搜索时,发现code。它实际上做了我需要的东西,除了一件事 - 它计算所有 N个数字,而我只需要最后一个。这有可能以有效的方式完成吗? (如果我只是为最后一个字符切换字符串,它就不会那么快)。提前谢谢。
为什么我需要它:
我要将那个将数字附加到文本文件的脚本放到我的服务器上并保留20-30天,然后检查输出。
答案 0 :(得分:2)
请参阅:
Pi的数字
的无界点算法Jeremy Gibbons
正在讨论的程序是用Haskell编写的[5],一个懒惰的 函数式编程语言。作为本文的第二点, 我们希望让读者相信这些语言非常出色 用于表达数学计算的工具,当然 与其他通用编程语言比较 Java,C和Pascal,甚至可以说与计算机相比 代数系统,如Mathematica。
https://www.cs.ox.ac.uk/jeremy.gibbons/publications/spigot.pdf
可以用pidigits实现
https://github.com/transmogrifier/pidigits
pidigits可通过Python包索引(PyPI)使用pip来实现。
>>> pip install --upgrade pidigits