【Python】パイの求め方を知ってるかい?

パイの求め方を知ってるかって…?

この記事を三行にまとめると

ラマヌジャンの公式
ライプニッツの公式
チュドノフスキー級数
この記事は以下の動画の中に出てきたサンプルコードを載せたものです。コピペなどが必要なときに使ってください。





ラマヌジャンの公式

from mpmath import mp, mpf, factorial, sqrt, pi

mp.dps = 100
total = mpf(0)

for n in range(10):
  x = mpf(factorial(4 * n) / mpf(factorial(n) ** 4))
  y = mpf((26390 * n + 1103)) / mpf(396 ** (4 * n))
  total += x * y

total *= 2 * sqrt(2) / 99 ** 2
print(mpf(1) / total)



ライプニッツの公式

from mpmath import mp, mpf, factorial, sqrt, pi

mp.dps = 100
total = mpf(0)

for n in range(10):
  total += mpf((-1) ** n) / mpf(2 * n + 1)

print(total * 4)



チュドノフスキー級数

from mpmath import mp, mpf, factorial, sqrt, pi

mp.dps = 100
total = mpf(0)

for n in range(1):
  x = mpf((-1) ** n * factorial(6 * n)) / mpf(factorial(3 * n) * factorial(n) ** 3)
  y = mpf(13591409 + (545140134 * n)) / mpf(640320 ** (3 * n + (3 / 2)))
  total += x * y

print(mpf(1) / (12 * total))
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください