python3辗转相除法求解最大公约数

下面使用递归迭代的方法求解最大公约数,代码如下:

# 递归求解
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))

 


版权声明:本文为qq_39445165原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。