辗转相除法,输出四个整数的最大公约数、最小公倍数

输入四个整数,编写函数common(),参数为整型,用辗转相除法,输出它们的最大公约数、最小公倍数


# 求两个数的最大公约数
def gcd(x,y):
    while y:
        x,y = y,x % y
    return x
# 求两个数的最小公倍数
def lcm(x,y):
    return int(x * y / gcd(x,y)) # 乘积除以最大公约数

dataList = input("请输入四个数,用逗号隔开:").strip()
a,b,c,d = [int(x) for x in dataList.split(",")]
res = gcd(a,b)
res = gcd(res,c)
res = gcd(res,d) # 最大公约数

res1 = lcm(a,b)
res1 = lcm(res1,c) 
res1 = lcm(res1,d)
print("最大公约数: {},最小公倍数: {}".format(res,res1))

img

如果觉得答案对你有帮助,请点击下采纳,谢谢~