본문 바로가기

알고리즘 문제풀이

적어도 대부분의 배수( 백준 1145)

 입력 받은 숫자들에서 조합을 사용하여 3개의 수를 택하는 경우를 모두 고려해 보고 답을 정해야 한다. 

import sys  
input  = sys.stdin.readline 
maxnum = int(1e9) 
def find(a,b,c) :
    multi  = 1
    big = max(a,b,c) 
    ans = big 
    while True :
        # big *= multi 
        # print(f"it is big {ans}")
        if ans %a ==0 and ans%b==0 and ans%c == 0 :
            break 
        ans += big 
    return ans 

def pick(idx) :
    global maxnum
    if len(select)== 3 :
        
        maxnum = min(find(select[0] , select[1] , select[2]), maxnum )
        return 
    for i in range(idx, 5):
        if arr[i] not in select :
            select.append(arr[i])
            pick(i+1)
            select.pop()
arr = list(map(int, input().split()))
select = []
pick(0)
print(maxnum)

# print(find(20,30,40))

 

'알고리즘 문제풀이' 카테고리의 다른 글

증가 수열(백준 30236)  (0) 2023.10.16
떡국(백준 20937)  (0) 2023.10.13
다리 만들기2(백준 17472)  (0) 2023.10.02
라디오 (백준 3135)  (0) 2023.09.24
이장님 초대(백준9237)  (0) 2023.09.23