チュドノフスキー・アルゴリズム:Pythonコードによる円周率の計算方法


まず、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モジュールを使用することで、高精度な計算を行うことができます。ぜひ、このアルゴリズムを使って円周率の計算に挑戦してみてください。

それでは、楽しいプログラミング体験をお楽しみください!