0x00 前言
重新温习了欧几里得算法,现在来看看扩展欧几里得。
0x01 概述
已知整数a,b,扩展欧几里得算法求a、b的最大公约数的同时,能够找到x,y使得他们满足ax+by=gcd(a,b)
0x02 算法实现
a=16
b=7
def ext_euclid(a, b):
if b == 0:
return 1, 0, a
else:
x, y, q = ext_euclid(b, a % b)
# q = gcd(a, b) = gcd(b, a%b)
x, y = y, (x - (a // b) * y)
return x, y, q
print(ext_euclid(16,7))