최대공약수와 최소공배수를 구하는 문제이다.
import sys
num = list(map(int, sys.stdin.readline().split()))
a = min(num)
b = max(num)
GCD = 0
LCM = 0
for i in range(1, a+1):
if b%i == 0 and a%i == 0:
GCD = i
print(GCD)
a = int(a/GCD)
b = int(b/GCD)
print(a*b*GCD)
다행히, 두개의 숫자의 최대공약수와 최소공배수를 구하는 문제라 간단했다. (저번에 프로그래머스에서 풀었을 때는 어려웠다) 따라서 간단하게 두 숫자를 비교해가며 풀면 된다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 10773번> 파이썬 - 제로 (0) | 2020.12.27 |
---|---|
<백준 문제풀이: 10828번> 파이썬 - 스택 (0) | 2020.12.27 |
<백준 문제풀이 - 11653번> 파이썬 - [수학3] 소인수분해 (0) | 2020.12.24 |
<백준 문제풀이: 1037번> 파이썬 - 약수 (0) | 2020.12.24 |
<백준 문제풀이: 5086번> 파이썬 - 배수와 약수 (0) | 2020.12.24 |