알고리즘/백준 문제풀이

[백준] 1037 약수 파이썬 풀이 (정수론 및 조합론)

자바칩 프라푸치노 2021. 6. 20. 00:52

코드


num = int(input()) #개수
real = list(map(int,input().split()))
real.sort()
print(real[0] * real[-1])    

풀이

8의 약수는 1 2 4 8 인데 이 중에서 1이랑 8을 빼면 2 4가 남는다

8은 2*4로 이루어져있다.

12 으로 보자면 1 2 3 4 6 12 인데 이 중에서 1과 12를 빼면 2346이 남는다

12는 2*6이나 3*4로 만들 수 있다.

따라서 진정한 약수로 주어진 수들을 오름차순으로 정렬하고

첫번째 수와 마지막 수를 곱하면 원래 수가 나온다.

 

728x90