https://www.acmicpc.net/problem/1929
에라토스테네스의 체를 사용하는 문제이다.
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
cin.tie(0)->sync_with_stdio(false);
int min, max;
cin >> min >> max;
int* arr = new int[max + 1];
arr[0] = 0, arr[1] = 0;
for (int i = 2; i <= max; ++i) {
arr[i] = i;
}
for (int i = 2; i <= sqrt(max); ++i) {
if (arr[i] == 0)
continue;
for (int j = i * 2; j <= max; j += i) {
arr[j] = 0;
}
}
for (int i = min; i <= max; ++i) {
if (arr[i] != 0) {
cout << i << '\n';
}
}
delete arr;
return 0;
}
'백준' 카테고리의 다른 글
백준 1541번 (silver 2) (0) | 2025.03.14 |
---|---|
백준 1931번 (Gold 5) (0) | 2025.03.12 |
백준 1744번(Gold 4) (0) | 2025.03.12 |
백준 1715번 (Gold 4) (0) | 2025.03.11 |
백준 1300번(Gold 1) (0) | 2025.03.10 |