반응형
#include<stdio.h>
void sort(int a[], int n) //오름차순 선택정렬
{
int i, j, m, t;
for (i = 0; i < n; i++)
{
m = i;
for (j = i; j < n; j++)
{
if (a[m] > a[j])
{
m = j;
}
}
t = a[i];
a[i] = a[m];
a[m] = t;
}
}
int main(void)
{
int N;
int a[51];
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
sort(a, N);
printf("%d", a[0] * a[N - 1]);
}
양수 A의 가장 작은 약수가 min 이라고 할때 가장 큰 약수 max = A/min이 된다. 따라서 min(최소)값과 max(최대)값을 서로 곱해주면 A를 구할 수 있다.
그런데 30의 경우 약수가 2, 3 ,5 일텐데 위의 말대로라면 2 * 5 = 10 이 정답이 아닌가? 할 수도 있다.
그러나 문제에서 "N의 진짜 약수가 전부 주어진다" 라고 했기 때문에
30이 답이라면 2,3,5,6,10,15 가 주어졌을 것이다.
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[ C/C++] 백준 1009번 분산 처리 (0) | 2020.04.12 |
---|---|
[C/C++] 백준 1920번 수 찾기 (0) | 2020.04.12 |
[C/C++] 백준 1032번 명령 프롬프트 (0) | 2020.04.12 |
[C/C++] 백준 1026번 보물 (0) | 2020.04.12 |
[C/C++] 백준 1003번 피보나치 함수 (0) | 2020.04.12 |