(1) 최대 공약수
def gcd(a, b):
while a != 0 and b != 0:
if a >= b: a %= b
else: b %= a
return a if b == 0 else b
(2) 최소 공배수
def lcm(a, b):
def gcd(a, b):
while a != 0 and b != 0:
if a >= b: a %= b
else: b %= a
return a if b == 0 else b
x = gcd(a, b)
return int(a*b/x)