블로그 이사🏡 했습니다. 👉🏻 둘러보기
본문 바로가기
  • What Get's You Here, Won't Get You There
CS/Problem-solving

백준 1145번 파이썬

by OMIN_ 2022. 4. 24.

문제 링크

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

댓글