알고리즘/백준 문제풀이
[백준] 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