https://www.acmicpc.net/problem/5347
코드
def gcd(n, m):
while m > 0:
n, m = m, n % m
return n
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
print(n * m // gcd(n, m))
풀이
유클리드 호제법을 다시 복습하였는데 오랜만에 하느라 익숙하지가않았다. 그동안 너무 개발만해서 그런가 싶기도하고
반복문으로 구현된 유클리드 호제법
def gcd(n, m):
while m > 0:
n, m = m, n % m
return n
재귀문으로 구현된 유클리드 호제법
def gcd(n, m):
if m == 0:
return n
return gcd(m, n % m)
최소공배수는 주어진 두 수의 곱을 최대공약수로 나누면 나온다.
'백준 > 구현' 카테고리의 다른 글
[백준][Python] 1972번 놀라운 문자열 - 실버 3 (0) | 2024.05.16 |
---|---|
[백준][Python] 13717번 포켓몬 GO - 실버 5 (0) | 2024.03.24 |
[백준][Python] 14503번 로봇 청소기 - 코팩(지문 오류 존재) (2) | 2024.01.04 |
[백준][Python] 2493번 탑 - 코팩 (0) | 2024.01.02 |
[백준][PyPy3] 1062번 가르침 - 코팩 (0) | 2023.08.31 |
https://www.acmicpc.net/problem/5347
코드
def gcd(n, m):
while m > 0:
n, m = m, n % m
return n
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
print(n * m // gcd(n, m))
풀이
유클리드 호제법을 다시 복습하였는데 오랜만에 하느라 익숙하지가않았다. 그동안 너무 개발만해서 그런가 싶기도하고
반복문으로 구현된 유클리드 호제법
def gcd(n, m):
while m > 0:
n, m = m, n % m
return n
재귀문으로 구현된 유클리드 호제법
def gcd(n, m):
if m == 0:
return n
return gcd(m, n % m)
최소공배수는 주어진 두 수의 곱을 최대공약수로 나누면 나온다.
'백준 > 구현' 카테고리의 다른 글
[백준][Python] 1972번 놀라운 문자열 - 실버 3 (0) | 2024.05.16 |
---|---|
[백준][Python] 13717번 포켓몬 GO - 실버 5 (0) | 2024.03.24 |
[백준][Python] 14503번 로봇 청소기 - 코팩(지문 오류 존재) (2) | 2024.01.04 |
[백준][Python] 2493번 탑 - 코팩 (0) | 2024.01.02 |
[백준][PyPy3] 1062번 가르침 - 코팩 (0) | 2023.08.31 |