円周率の計算に助けが必要です。Pi から X 桁までを計算する Python プログラムを作成しようとしています。Pythonメーリングリストからいくつか試してみましたが、私の使用には遅すぎます。Gauss-Legendre Algorithmについて読んだことがありますが、それを Python に移植しようとしましたが、成功しませんでした。
私はここから読んでいます。私がどこで間違っているのかについての意見をいただければ幸いです!
出力: 0.163991276262
from __future__ import division
import math
def square(x):return x*x
a = 1
b = 1/math.sqrt(2)
t = 1/4
x = 1
for i in range(1000):
y = a
a = (a+b)/2
b = math.sqrt(b*y)
t = t - x * square((y-a))
x = 2* x
pi = (square((a+b)))/4*t
print pi
raw_input()