반응형
문제링크
https://www.acmicpc.net/problem/1934
1934번: 최소공배수
두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있
www.acmicpc.net
import sys
t = int(sys.stdin.readline())
for i in range(t):
a,b = map(int, sys.stdin.readline().split())
A,B = a,b
while a!=0:
b = b%a
a,b = b,a
gcd = b
lcm = A*B//b
print(lcm)
먼저 최대공약수를 구한다.
최대 공약수는 둘 중에 작은 수와 큰 수%작은 수와의 최대공약수와 같다고 본다.
작은 수가 0이 될 때까지 반복. 거기서 큰 수가 최대공약수다.
두 수 A와 B를 곱한 후, 최대공약수로 나눠주면 최소공배수가 된다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
파이썬(python) 4101번 크냐 (0) | 2022.01.27 |
---|---|
파이썬(python) 2480번 주사위 세개 (0) | 2022.01.27 |
파이썬(python) 2609번 최대공약수와 최소공배수 (0) | 2022.01.25 |
파이썬(python) 10039번 평균 점수 (0) | 2021.12.24 |
파이썬(python) 10817번 세 수 (0) | 2021.12.24 |