python实现用递归求最大公约数和最小公倍数

1.最大公约数

def gcd(a,b):
    if a < b:
        a , b = b, a
    
    if b == 0:
        return a
    else:
        gcd(b, a%b)

2.最小公倍数

有意思的时,最小公倍数 = 两个数相乘 / 最大公约数

def lcm(a, b):
    if a < b:
        a, b = b, a
    c, d = a, b
    while d != 0:
        c, d = d, c % d #这里求的是最大公约数
    return (a * b) // c # 两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。

你可能感兴趣的:(python)