알고리즘/백준

[백준/C] 1037번: 약수

이우열 2022. 6. 12. 18:03
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