728x90
import sys
t = int(sys.stdin.readline())
def gcd(a, b):
while b > 0:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
for _ in range(t):
a, b = map(int, sys.stdin.readline().split())
print(lcm(a, b))
유클리드 호제법을 이용하면 쉽게 풀 수 있는 문제다. 최대공약수 구하는 함수를 만들고 그 함수를 이용해서 최소 공배수를 생성하는 함수를 만들면 되는데 오랫만에 풀어서 함수가 기억이 안나 예전 포스팅을 참고했다.
파이썬에서는 math모듈을 import해서 최대공약수, 최소공배수를 구할 수 있지만 유클리드 호제법으로 푸는것을 추천한다.
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 1076 파이썬(python) : 저항 (0) | 2022.10.01 |
---|---|
[백준] 2822 파이썬(python) : 점수 계산 (0) | 2022.09.29 |
[백준] 1037 파이썬(python) : 약수 (0) | 2022.09.27 |
[백준] 2902 파이썬(python) : KMP는 왜 KMP일까? (0) | 2022.09.26 |
[백준] 3273 파이썬(python) : 두 수의 합 (0) | 2022.09.25 |