📝 문제
💡 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다.
어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.
⚙️ 입력 : 첫째 줄에 N의 진짜 약수의 개수가 주어진다.
이 개수는 50보다 작거나 같은 자연수이다.
둘째 줄에는 N의 진짜 약수가 주어진다.
1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다.
⚙️ 출력 : 첫째 줄에 N을 출력한다.
N은 항상 32비트 부호있는 정수로 표현할 수 있다.
1037번: 약수
첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되
www.acmicpc.net
✅ 풀이
n = int(input())
li = list(map(int,input().split()))
li.sort()
if n == 1:
print(li[0] ** 2)
else:
print(li[0] * li[n-1])
💡 약수가 만약 한개라면 제곱수이기 때문에, 해당 약수를 제곱하여 출력했다.
약수가 여러개라면, 첫번째 약수와 마지막 약수를 곱한 원래 수를 출력했다.