我想在 PI 的小数位中找到一个特定的数字序列,这涉及首先计算 PI 到(很可能)无穷大。问题是我不知道如何让一个变量存储那么多数字,或者如何只使用新计算的数字以便我可以将它与我的序列进行比较。
那么如何计算 PI 并只保留最后一位小数作为整数呢?
提前致谢。
最佳答案
这类问题可以使用惰性计算非常优雅地解决,就像在 Haskell 中发现的那样。或者使用 Python 中的生成器,一次最多生成一个 Pi,并检查正在搜索的目标值中的相应位置。
这两种方法的优点是您不必生成(可能)无限的数字序列,只需生成所需数量的数字,直到找到您要查找的内容。当然,如果特定序列真的没有出现在数字 Pi 中,算法将永远迭代,但至少执行程序的计算机不会耗尽内存。
或者:您可以使用 BBP Formula ,或允许提取 Pi 中特定数字的类似算法。
关于algorithm - 如何在 PI 的小数位内找到一个特定的序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962429/