본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #1037: 약수

https://www.acmicpc.net/problem/1037

 

1037번: 약수

첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되

www.acmicpc.net

 

[문제 이해]

양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고 A가 1과 N이 아니어야 한다.

ex) N=8 → A=2,4 / N=32 → A=2,4,8,16

 

[풀이 생각]

ex) N=8 → A=2,4 / N=32 → A=2,4,8,16

즉 진짜 약수 중 제일 작은 값과 제일 큰 값을 곱하면 N이 된다.

 

 

[정답]

 

1. 진짜 약수의 개수 N을 입력받는다.

2. N의 진짜 약수를 입력받아 리스트 list에 넣는다.

3. min(list)*max(list)를 출력한다.