"""
求最大公约数和最小公倍数
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))