一、拓展欧几里得算法
扩展欧几里德算法是数论中最经典的算法之一,其目的用来解决不定方程。用来在已知a, b求解一组x,y,使它们满足贝祖等式:
ax+by = GCD(a, b)
什么是不定方程?
不定方程(丢番图方程)是指未知数的个数多于方程个数,且未知数受到某些限制(如要求是有理数、整数或正整数等)的方程或方程组。
二、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)
输出结果
三、作者Info
Author:小鸿的摸鱼日常,Goal:让编程更有趣!
专注于算法、爬虫,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!
版权说明:本文禁止抄袭、转载,侵权必究!