에라토스테네스의 체의 방법을 사용하는데, 소수를 구하는게 목적이 아니고 K 번째 지워지는 숫자를 구하는게 목적

#include <cstdio>
/**
* https://www.acmicpc.net/problem/2960
* BOJ 백준온라인져지 2960 에라토스테네스의 체 풀이
*/
int main(){
int N,K;
scanf("%d%d",&N,&K);
bool *isPrimeNumber = new bool[N+1];
int count = 0, result = 0;
for(int i = 2; i <= N; i++){
if(!isPrimeNumber[i]){
for(int j = i; j <= N; j += i){
if(!isPrimeNumber[j]){
isPrimeNumber[j] = true, count++;
if(count == K) result = j;
}
}
}
}
printf("%d", result);
}
view raw BOJ_2960.cpp hosted with ❤ by GitHub


+ Recent posts