pi/2 = 1 + 1/3 + (1*2) / (3*5) + (1*2*3) / (3*5*7) + ...
よし、もう一度やってみよう。
最大誤差を pi の値のパラメーターとして取り、計算された pi の値と、そのポイントに到達するために必要な反復回数を返す関数を作成する必要があります。再帰アルゴリズムを使用できません。
これまでのところ、私は持っています:
def piEuler (x):
count = 0.0
approx = 0.0
approx2 = 1.0
error = math.pi/2 - approx2
while error > x:
count = count + 1
approx3 = approx + approx2
error = math.pi/2 - approx3
#print error
approx = approx + approx2
approx2 = approx2 * count/(count + 2)
#print approx2
final = math.pi - error
return final, count
問題は、プログラムが負の値を返すことです。エラーはゼロに収束するはずです。シリーズから近似値を取得するには、許容される pi の値から誤差を差し引くことができる必要があります。私は何を間違っていますか?