我想在PI的小數中找到一個特定的數字序列,並且首先需要計算PI(很可能)無窮大。問題是我不知道如何創建一個可變的商店,有很多數字或者如何使用新計算的數字,所以我可以將它與我的序列進行比較。如何在PI的小數點內找到特定的序列?
那麼我該如何計算PI並只保留最後一位小數作爲整數?
在此先感謝。
我想在PI的小數中找到一個特定的數字序列,並且首先需要計算PI(很可能)無窮大。問題是我不知道如何創建一個可變的商店,有很多數字或者如何使用新計算的數字,所以我可以將它與我的序列進行比較。如何在PI的小數點內找到特定的序列?
那麼我該如何計算PI並只保留最後一位小數作爲整數?
在此先感謝。
您可以使用迭代算法計算Pi,例如Gauss–Legendre algorithm。
要實現它,您將需要一個執行任意精度算術的庫;一個這樣的庫是GMP。
顯然,有人做了大部分工作對您:http://gmplib.org/pi-with-gmp.html
這類問題可以很優雅地用惰性計算來解決,就像一個在Haskell找到。或者在Python中使用生成器,一次生成最多一個Pi,並檢查正在搜索的目標值中的相應位置。
這兩種方法的優點是,您不必生成(可能)無限的數字序列,只需要根據需要生成,直到找到所需內容。當然,如果特定序列真的沒有出現在數字Pi中,算法將永遠迭代,但至少執行該程序的計算機不會用完內存。
或者:您可以使用BBP Formula或允許提取Pi中特定數字的類似算法。
無窮大,嘿? ) –
數字序列有多長? – starblue
[你想計算Pi到最後一位?](http://www.youtube.com/watch?v=RN5aQSN7qo8) – Beta