python小案例-计算输入两个数的最大公约数与最小公倍数

# 计算最大公约数
def gcd(x,y):

    """
        计算最大公约数

        :param x:一个正整数
        :param y:一个正整数
        :return:x,y的最大公约数

    """
    (x,y)=(y,x) if x>y else (x,y)
    for factor in range(x, 0, -1):  #使用range的时候,可使用负数步长,前面加上-即可
        if x % factor == 0 and y % factor == 0:
            return factor

def lcm(x,y):

  """
    计算最小公倍数

    Parameters:
        x-正整数
        y-正整数

    Returns:
        x和y的最小公倍数
    """

  return x*y//gcd(x,y)
print(gcd(25,5))
print(lcm(25,5))
结果:
5
25