언어/C++
[백준 1037] 약수
연나연
2023. 11. 20. 13:31

구현할 코드자체는 어렵지 않다만, 약수를보고 원래 수를 어떻게 구해야하나 꽤나 오래 생각했다...
수학이 필요한 문제,,
약수의 최소값과 최대값을 곱하면 원래의 수가 나오는 문제이다.
#include <iostream>
#include <algorithm> //정렬을 사용하기 위해
using namespace std;
int main() {
int N_measure_count; // N의 진짜 약수의 개수
int measure[51]; //약수들
int N; //구하고자 하는 약수
cin >> N_measure_count;
for (int i = 0; i < N_measure_count; i++) {
cin >> measure[i];
}
sort(measure, measure + N_measure_count);
int min = measure[0]; //최솟값
int max = measure[N_measure_count - 1]; //최대값
N = min * max;
cout << N;
return 0;
}

완료 -!