코딩/백준 문제 (브론즈)

[백준/1037/C언어] 약수 _ 풀이

룻밤 2023. 8. 19. 15:48

https://www.acmicpc.net/problem/1037

 

1037번: 약수

첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	int na, a;		// n의 약수개수, n의 진짜약수
	int max = 1;
	int min = 1000000;

	scanf("%d", &na);
	for (int i = 0; i < na; i++){		// na만큼 반복
		scanf("%d", &a);	
		if (max < a) max = a;			// 입력한 a중 최댓값
		if (min > a) min = a;			// 입력한 a중 최솟값
	}
	
	if (na == 1) printf("%d\n", a * a);	// 약수 개수가 1개일때는 a제곱 출력
	else printf("%d\n", max * min);		// 최댓값 * 최솟값이 n

	return 0;
}