상상쓰

[백준] 최소공배수 본문

Coding Test

[백준] 최소공배수

상상쓰 2021. 9. 14. 17:08

https://www.acmicpc.net/problem/1934

 

1934번: 최소공배수

두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있

www.acmicpc.net

 

유클리드 호제법을 이용하여 최대공약수(gcd)를 구한 후, 최소공배수(lcd) = a * b // gcd 를 구한다. 

 

import sys

def gcd(a, b):
    if a % b == 0: 
        return b
    else: 
        return gcd(b, a%b)

T = int(sys.stdin.readline())

for i in range(T):
    a, b = map(int, sys.stdin.readline().split())
    
    print(a * b // gcd(max(a, b), min(a, b)))

'Coding Test' 카테고리의 다른 글

[백준] 인형들  (0) 2021.09.16
[백준] 어린 왕자  (0) 2021.09.15
[백준] 파도반 수열  (0) 2021.09.14
[백준] 윤년  (0) 2021.09.14
[백준] 퇴사  (0) 2021.09.14
Comments