下面使用递归和迭代的方法求解最大公约数,代码如下:
# 递归求解
def gcd(a: int, b: int):
# 类似于三目运算符
return a if b == 0 else gcd(b, a % b)
# 迭代求解
def gcd2(a: int, b: int):
while b > 0:
t = b
b = a % b
a = t
return a
if __name__ == '__main__':
print(gcd(12, 6))
print(gcd2(24, 36))