[백준 문제풀이] 1934 - 최소공배수

백준 문제풀이 1934번

풀이

유클리드호제법으로 최대공약수를 구하고, 최소공배수(최대공약수 * 최대공약수로 나눈 두 수의 곱)를 구하면 쉽게 풀이할 수 있다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import sys

input = sys.stdin.readline


def gcd(a, b):
    while b > 0:
        a, b = b, a % b
    return a


T = int(input())
arr = [0] * T
for i in range(T):
    arr[i] = list(map(int, input().split(" ")))
    gcd_result = gcd(arr[i][0], arr[i][1])
    print(gcd_result * (arr[i][0] // gcd_result) * (arr[i][1] // gcd_result))

댓글남기기