본문 바로가기
알고리즘 문제풀이

[백준 1037] 알고리즘 21일차 : 약수

by SiO2whocode 2020. 7. 13.
728x90

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

 

1037번: 약수

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

www.acmicpc.net

수학3 C++

분명 실버라고 알고 있는데 생각보다 쉬웠다.

근데 정렬하지 않으면 틀려서 sort함수로 급하게 정렬해서 했더니 맞았다.

첫째줄에 모든 약수의 개수가 주어지고, 둘째줄에 모든 약수가 주어지면 N을 구하는 문젠데

그럼 정렬해서 최솟값과 최댓값을 곱하면 N이 나오는 간단한 문제였다.

 

소스코드

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int n, N;
	int nums[50];
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> nums[i];
	sort(nums, nums + n);
	N = nums[0] * nums[n - 1];
	cout << N;
	return 0;
}
728x90