본문 바로가기
🥇Baekjoon Solutions/정수론

[C++] 백준 2960번: 에라토스테네스의 체

by 코푸는 개발자 2021. 7. 26.
728x90

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

 

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

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

www.acmicpc.net

최초 풀이

#include <iostream>
#include <cstring>// memset 라이브러리
#include <cmath>

using namespace std;

bool Not_prime[1001];

void solve(int n, int k) {
	int num = 0;
	for (int i = 2; i <= n; i++) {//에라토스테네스의 체 정의 활용
		for (int j = 1; i * j <= n; j++) {//소수 역시 지워지는 것이기 때문에 1부터 시작한다.
			if (Not_prime[i * j] == false) {
				Not_prime[i * j] = true;
				num++;
			}
			if (num == k) {
				cout << i * j;
				return;
			}
		}
	}
}

int main() {
	int N, K;
	cin >> N >> K;
	
	memset(Not_prime, false, sizeof(Not_prime));

	solve(N, K);

	return 0;
}
728x90

'🥇Baekjoon Solutions > 정수론' 카테고리의 다른 글

[C++] 백준 6588번: 골드바흐의 추측  (0) 2021.07.29
[C++] 백준 10430번: 나머지  (0) 2021.07.28
[C++] 백준 4375번: 1  (0) 2021.07.27
[C++] 백준 10610번: 30  (0) 2021.07.26
[C++] 백준 1837번: 암호제작  (0) 2021.07.26

댓글