https://www.acmicpc.net/problem/2960
2960번 문제는 2 ~ N까지의 수를 에라토스테네스의 체를 이용하여 지울 때 K번째 지워진 수를 찾는 문제이다.
간단하게 수를 지울 때마다 K의 수를 감소시키고 K가 0이 될 때 해당 수를 출력하면 된다.
#include <stdio.h>
int number[1001];
int main()
{
int n, k;
scanf("%d %d", &n, &k);
for (int i = 2; i <= n; i++)
{
if (number[i])
continue;
for (int j = i; j <= n; j += i)
{
if (!number[j])
{
--k;
if (k == 0)
{
printf("%d", j);
}
number[j] = 1;
}
}
}
return 0;
}
'Problem Solving' 카테고리의 다른 글
[BOJ 2407] 조합 (0) | 2020.01.01 |
---|---|
[BOJ 3054] 피터팬 프레임 (0) | 2019.12.30 |
[BOJ 1629] 곱셈 (0) | 2019.03.17 |
[BOJ 1964] 오각형, 오각형, 오각형… (0) | 2019.03.17 |
[BOJ 1978] 소수 찾기 (0) | 2019.03.16 |