반응형
문제
두 수 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값으로 나누어 최소공배수를 출력한다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 9417 파이썬 - 최대 GCD (1) | 2023.03.24 |
---|---|
[알고리즘] 백준 11502 파이썬 - 세 개의 소수 문제 (2) | 2023.03.23 |
[알고리즘] 백준 2089 파이썬 - -2진수 (3) | 2023.03.21 |
[알고리즘] 백준 16479 파이썬 - 컵라면 측정하기 (2) | 2023.03.08 |
[알고리즘] 백준 17247 파이썬 - 택시 거리 (2) | 2023.03.07 |