Python アルゴリズム設計 - ユークリッド アルゴリズムの拡張

1.ユークリッドアルゴリズムを拡張する

拡張ユークリッド アルゴリズムは、数論における最も古典的なアルゴリズムの 1 つであり、その目的は不定方程式を解くことです。これは、ベズー方程式を満たすように、既知の a、b を使用して x、y のセットを解くために使用されます:

ax+by = GCD(a, b)

不定方程式とは何ですか?
不定方程式 (ディオファントス方程式) とは、未知数の数が方程式の数よりも多く、未知数には特定の制限 (有理数、整数、正の整数が必要など) が課されている方程式または方程式を指します。

2、Pythonアルゴリズムの実装


def gld(x, y):
    u0, v0 = 1, 0
    u1, v1 = 0, 1
    while y:
        q = x // y               #取整
        u0, u1 = u1, u0 - q * u1
        v0, v1 = v1, v0 - q * v1
        x, y = y, x % y
    print(x, u0, v0)

gld(2*3*7*9*11, 6*12*13)

出力結果
ここに画像の説明を挿入

3. 著者情報

著者: Xiaohong の釣りルーティン、目標: プログラミングをもっと面白くする!

アルゴリズム、爬虫類、ゲーム開発、データ分析、自然言語処理、AI などに焦点を当てます。ご注目をお待ちしております。一緒に成長し、コーディングしましょう!

著作権に関する注意: この記事は盗作と転載を禁止しており、侵害があれば調査する必要があります。

おすすめ

転載: blog.csdn.net/qq_44000141/article/details/130228521