728x90
https://www.acmicpc.net/problem/1037
1037번: 약수
첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되
www.acmicpc.net
문제 분석
N의 약수들을 모두 입력받았을 경우 N을 구하기 위해서는 가장 작은 약수와 가장 큰 약수의 곱을 구하면 된다.
코드 진행 방향
약수들을 입력할 때 순서대로 입력하지 않는 경우를 대비하여 배열로 입력받은 후 정렬하여 첫 번째 배열 값과 마지막 번째 배열 값을 곱하여 구한다.
코드
더보기
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b){
return *(int *)a-*(int *)b;
}
int main(){
int n;
scanf("%d", &n);
int arr[n];
for(int i=0; i<n; i++){
scanf("%d", &arr[i]);
}
qsort(arr, n, sizeof(int), compare);
printf("%d", arr[0]*arr[n-1]);
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준/C] 10998번: A×B (0) | 2022.06.14 |
---|---|
[백준/C] 1085번: 직사각형에서 탈출 (0) | 2022.06.12 |
[백준/C] 1010번: 다리 놓기 (0) | 2022.06.12 |
[백준/C] 1009번: 분산처리 (0) | 2022.06.12 |
[백준/C] 1008번: A/B (0) | 2022.06.12 |