まず、Pythonでチュドノフスキー・アルゴリズムを実装するためのコードを示します。
import decimal
def chudnovsky_algorithm(precision):
decimal.getcontext().prec = precision + 2
# 定数の計算
C = decimal.Decimal(426880) * decimal.Decimal(10005).sqrt()
K = decimal.Decimal(6)
M = decimal.Decimal(1)
X = decimal.Decimal(1)
L = decimal.Decimal(13591409)
# 繰り返し計算
for k in range(precision):
M = (K3 - 16*K) * M // (k + 1)3
L += 545140134
X *= -262537412640768000
pi = C * decimal.Decimal(10005).sqrt() / L / X
return str(pi)[:precision+1]
# 1000桁の円周率を計算
precision = 1000
pi = chudnovsky_algorithm(precision)
print(pi)
このコードでは、decimalモジュールを使用して高い精度の計算を行っています。chudnovsky_algorithm関数は、引数として計算したい円周率の桁数を取ります。計算結果は文字列として返されます。
上記のコード例では、1000桁の円周率を計算して結果を表示しています。必要に応じて、precisionの値を変更してさらに多くの桁数を計算することもできます。
チュドノフスキー・アルゴリズムは、円周率の計算において高い精度を提供する方法です。Pythonのdecimalモジュールを使用することで、高精度な計算を行うことができます。ぜひ、このアルゴリズムを使って円周率の計算に挑戦してみてください。
それでは、楽しいプログラミング体験をお楽しみください!