티스토리 뷰

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

 

2960번: 에라토스테네스의 체

2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다.

www.acmicpc.net

백준 소스코드 [C++] 2960 에라토스테네스의 체

#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n, k, count = 0;
	cin >> n >> k;
	int* arr = new int[n+1];
	for (int i = 2;i <= n;i++) arr[i] = i;
	for (int i = 2;i <= n;i++) {
		for (int j = i;j <= n;j=j+i) {
			if (arr[j] == 0) continue;
			if (arr[j] % i == 0) {
				arr[j] = 0; count++;
			}
			if (count == k) {
				cout << j;
				return 0;
			}
		}
	}
}
댓글