求最大公约数和最小公倍数-python3

"""
求最大公约数和最小公倍数

Version: 1.0.0
Author: Catherine
Data: 2019-03-11
"""


def gcd(x, y):
    """
    最大公约数
    辗转相除法
    """
    (x, y) = (y, x) if x < y else (x, y)
    while True:
        remainder = x % y
        if remainder != 0:
            (x, y) = (y, remainder)
        else:
            maxcd = y
            break
    return maxcd


def lcd(x, y):
    """
    两个数的乘积等于这两个数的最大公约数与最小公倍数的积
    """
    maxcd = gcd(x, y)
    leastcd = x * y // maxcd
    return leastcd


print(gcd(319, 377))
print(gcd(98, 63))
print(lcd(18, 20))

你可能感兴趣的:(python)