January 1, 2023
큰 수를 작은 수로 나눈 나머지를 구한다.
$$ a \% b = d_1 ... r_1 $$
나눴던 수와 나머지로 나머지를 구한다.
$$ b \% r_1 = d_2 ... r_2 $$
나머지가 0이 될 때 까지 위의 과정을 반복한다.
나머지가 0이 되었을 때, 나누는 수가 최대 공약수이다.
a = 1112
b = 695
def gcd(a, b):
while (a % b):
a, b = b, a % b
return b
def gcd2(a, b):
return a if b == 0 else gcd2(b, a % b)
print(gcd(a, b))
$$ {a * b}\over{gcd(a, b)} $$
def lcm(a, b):
return a * b / gcd(a, b)