728x90
- 문제 설명
N의 진짜 약수들이 입력으로 주어졌을 때, N의 값을 구하는 문제
※ 진짜 약수 : 1과 N을 제외한 약수
ex) 25의 진짜 약수 : 5
- 입력
첫째 줄에 N의 진짜 약수의 개수 (1 <= N <= 50),
둘째 줄에는 N의 진짜 약수 (1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수, 중복 없음)
- 출력
N 출력 (항상 32비트 부호있는 정수로 표현 가능)
* 문제 풀이의 핵심
1. N = 진짜 약수 중 제일 작은 값 * 진짜 약수 중 제일 큰 값
2. 입력은 크기순으로 주어지지 않고 무작위로 주어진다.
- 소스코드
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> num;
int i;
for (i = 0; i < N; i++) {
int n;
cin >> n;
num.push_back(n);
}
sort(num.begin(), num.end());
cout << num[0] * num[num.size() - 1] << "\n";
}
- 문제링크 : https://www.acmicpc.net/problem/1037
- 제출한 코드
> 백준 아이디 : canoe726
> 사용언어 : C++
> 에디터 : Visual Studio 2017
> 궁금한점은 댓글로 남겨주세요
728x90
'알고리즘 > 백준' 카테고리의 다른 글
백준 17420번 깊콘이 넘쳐흘러 (0) | 2020.09.28 |
---|---|
백준 1655번 가운데를 말해요 (0) | 2020.08.12 |
백준 12015번 가장 긴 증가하는 부분 수열 2 (0) | 2020.08.10 |
백준 2565번 전깃줄 (0) | 2020.08.07 |
백준 1300번 K번째 수 (0) | 2020.08.06 |
댓글