프로그래밍/백준

[알고리즘] 백준 5347 파이썬 - LCM

매 석 2023. 3. 22. 23:15
반응형

 

 

5347번: LCM

첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다.

www.acmicpc.net

문제

두 수 a와 b가 주어졌을 때, a와 b의 최소 공배수를 구하는 프로그램을 작성하시오.

 

문제풀이

n=int(input())
#01
def gcd(a,b):
    while b:
        mod=b
        b=a%b
        a=mod
    return a
for _ in range(n):
	#02
    a,b=map(int,input().split())
    print(a*b//gcd(a,b))

- #01 : 최소공배수를 구하기 위해 최대공약수를 먼저 구한다.

           간단한 개념인 유클리드 호제법을 이용하여 gcd를 구한 후 return 한다.

- #02 : 이후 a*b를 하나 후에 gcd값으로 나누어 최소공배수를 출력한다.