반응형
문제링크
https://www.acmicpc.net/problem/2609
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
24, 18의 최대공약수는 6, 최소공배수는 72이다.
최대공약수를 구하는 공식은 24와 18의 약수 중 공약수 값 중 가장 큰 값이다.
최소공배수는 최대공약수를 구한 후, 24와 18를 최대공약수(6)으로 나눈 후 나온 몫 값 2개를 곱하면 6X4X3=72이다.
import sys
n1, n2 = map(int, sys.stdin.readline().split())
n_min = min(n1, n2)
n_list = []
for i in range(1, n_min+1):
if (n1%i == 0) & (n2%i == 0):
n_list.append(i)
print(max(n_list)) # 최대공약수
print(max(n_list) * n1//max(n_list) * n2//max(n_list)) # 최소공배
반응형
'알고리즘 > 백준' 카테고리의 다른 글
파이썬(python) 2480번 주사위 세개 (0) | 2022.01.27 |
---|---|
파이썬(python) 1934번 최소공배수 (0) | 2022.01.25 |
파이썬(python) 10039번 평균 점수 (0) | 2021.12.24 |
파이썬(python) 10817번 세 수 (0) | 2021.12.24 |
파이썬(python) 2935번 소음 (0) | 2021.12.24 |