求最大公约数函数
”“”
欧几里得算法
a ÷ b = k……r
a,b的最大公约数,也是b,r的最大公约数
用辗转相除法确定两个正整数 a 和 b(a≥b) 的最大公因数gcd(a,b):
当a mod b=0 时gcd(a,b)=b,否则
gcd(a,b) = gcd(b,a mod b)
递归或循环运算得出结果
“”“
#非递归
def gcd(x,y):
while y:
x,y = y,x%y
return x
#递归
def gcd(x,y)
return x if y ==0 else gcd(y,x%y)