ラマヌジャンの円周率公式を使って円周率を計算する。式は次の通り。
\begin{align} \frac{4}{\pi} = \sum_{i=0}^{\infty} \frac{(-1)^n (4n)! (1123+21460n)}{882^{2n+1} (4^n n!)^4} \end{align}
収束は早い。以下ソースコード
1 2 3 4 5 6 7 | import math N = 10 sum = 0 for n in range (N): sum = sum + (( - 1 ) * * n * math.factorial( 4 * n) * ( 1123 + 21460 * n)) / ( 882 * * ( 2 * n + 1 ) * (math.factorial( 4 * * n * math.factorial(n))) * * 4 ) print ( 4 / sum ) |
コメント