티스토리 뷰

Algorithm/BOJ

백준 2501번 C++

poopooreum 2023. 8. 8. 19:06
반응형
백준 2501번 약수

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

2501번: 약수 구하기

첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.

www.acmicpc.net



정답 코드

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int>arr;
int main() {
	int n, k;
	cin >> n >> k;
	int index = 0;
	for (int x = 1; x <= n; x++) {
		if (n % x == 0) {
			arr.push_back(x);
		}
	}
	sort(arr.begin(), arr.end());
	int d = k - 1;
	if (arr.size() >= k) {
		cout << arr[d];
	}
	else
		cout << 0;

}

문제 풀이

약수를 구하는 문제입니다. 약수는 for문을 돌려서 구한 후 벡터에 삽입하였습니다. 그리고 algorithm헤더파일에 있는 sort함수를 이용해서 정렬하였습니다. 마지막으로 벡터의 크기가 k개보다 작으면 0을 그게 아니라면 k번째 수를 출력하도록 조건문을 추가했습니다.

반응형

'Algorithm > BOJ' 카테고리의 다른 글

백준 2557번 C++  (0) 2023.08.08
백준 2525번 C++  (0) 2023.08.08
백준 2480번 C++  (0) 2023.08.07
백준 2475번 C++  (0) 2023.08.07
백준 2468번 C++  (0) 2023.08.07
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함