저번에 최대공약수 최소공배수 구하는 백준 문제를 풀었기 때문에 복습이라 생각하자.
lcm = A * B // gcd 이용
N = int(input())
def gcd_r(a, b):
return gcd_r(b, a % b) if b else a
# def gcd(a, b):
# while b > 0:
# tmp = a % b
# a = b
# b = tmp
# return a
def lcm(a, b):
return a * b // gcd_r(a, b)
for i in range(N):
a, b = map(int, input().split())
print(lcm(a, b))
주석 처리된 gcd 함수는 기존에 풀었던 코드인데, 이번엔 재귀를 이용한 코드를 알게 되어서 gcd_r이라는 함수로 새롭게 코드를 만들어 봤다.