与えられた精度でPI〜3.14を計算するための式/アルゴリズムを探しています。
数式/アルゴリズムには、次のような非常に基本的な算術のみが必要です。
- +:追加
- -:減算
- *:掛け算
- /:ディビソン
これらの操作をC++で実装し、実装を可能な限り単純にしたいためです(bignumライブラリは許可されていません)。
円周率を計算するためのこの式は非常に単純であることがわかりました。
Pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... = sum( (-1)^(k+1)/(2*k-1) , k=1..inf )
((-1)^(k + 1)は上記の演算子で簡単に実装できることに注意してください)。
しかし、この式の問題は、計算する桁数を指定できないことです。つまり、計算をいつ停止するかを直接決定する方法はありません。
n-1
おそらく、この問題の回避策は、計算された項とthの差を計算し、n
それを現在のエラーと見なすことです。
とにかく、私はこれらの特性を持ち、また円周率に速く収束する式/アルゴリズムを探しています