본문 바로가기
백준

[1037번] 약수

by 2744m 2019. 4. 10.
1037번: 약수
 
www.acmicpc.net

간단한 문제

입력

첫번째 줄에 진짜 약수의 개수 (진짜 약수 : 1과 본인을 제외한 약수들)

두번째 줄에 진짜 약수들을 입력한다.

 

약수의 성질?을 파악해보면 약수들을 구했을 때,

좌측과 우측 끝부터 한칸씩 짝을 이뤄 곱하면 원래 수가 된다.

ex) 12의 약수

1 , 2 , 3 , 4 , 6 , 12 --> (1,12)/(2,6)/(3,4)

약수의 개수가 홀수 개라도 가운데 하나를 2번 곱하면 원래 수가 된다.

 

그렇기 때문에 입력받은 진짜 약수들을 정렬해서 맨 앞과 맨 뒤를 곱해주면 된다.

/*1037번 약수*/
#include <iostream>
#include <algorithm>
using namespace std;
int div_cnt;
int divisor[50];
int main() {
	ios::sync_with_stdio(0), cin.tie(0);
	cin >> div_cnt;
	for (int i = 0; i < div_cnt; i++) cin >> divisor[i];
	sort(divisor, divisor + div_cnt);
	cout << divisor[0] * divisor[div_cnt - 1];
}

'백준' 카테고리의 다른 글

[1929번] 소수 구하기  (0) 2019.04.17
[1978번] 소수 찾기  (0) 2019.04.17
[9663번] N-Queen  (0) 2019.04.10
[9095번] 1,2,3 더하기  (0) 2019.04.01
[1406번] 에디터  (0) 2019.03.26

댓글