문제 링크
https://www.acmicpc.net/problem/1145
1145번: 적어도 대부분의 배수
첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다.
www.acmicpc.net
시간 제한 / 메모리 제한
2 초 | 128 MB |
문제
다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어 지는 가장 작은 자연수이다.
서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다.
출력
첫째 줄에 적어도 대부분의 배수를 출력한다.
예제 입력
30 42 70 35 90
예제 출력
210
풀이 코드
from math import lcm
from itertools import combinations
nums = list(map(int, input().split()))
lcms = []
for combi in combinations(nums, 3):
a, b, c = combi
lcm_ = lcm(lcm(a, b), c)
lcms.append(lcm_)
print(min(lcms))
다섯 개 중 세 개의 숫자를 조합으로 구성해, 이를 math.lcm으로 최소 공배수를 구했다.
참고자료
https://ko.wikipedia.org/wiki/%EC%B5%9C%EC%86%8C%EA%B3%B5%EB%B0%B0%EC%88%98
최소공배수 - 위키백과, 우리 모두의 백과사전
수론에서, 여러 개의 정수/다항식/환의 원소의 공배수(公倍數, 영어: common multiple)는 그들 모두의 배수가 되는 정수/다항식/환의 원소이다. 최소공배수(最小公倍數, 영어: least common multiple/ lowest co
ko.wikipedia.org
'CS > Problem-solving' 카테고리의 다른 글
백준 2164번 파이썬 (0) | 2022.04.26 |
---|---|
백준 9012번 파이썬 (0) | 2022.04.26 |
백준 18512번 파이썬 (0) | 2022.04.24 |
백준 10448 파이썬 (0) | 2022.04.24 |
백준 7568번 파이썬 (0) | 2022.04.23 |
댓글