개발일지/알고리즘

백준 1929번 : 소수 구하기

김진우 개발일지 2025. 2. 2. 18:27
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

void sieveOfEratosthenes(int N, vector<bool>& isPrime) {
    isPrime[0] = isPrime[1] = false;
    for (int i = 2; i <= sqrt(N); i++) {
        if (isPrime[i]) {
            for (int j = i * i; j <= N; j += i) {
                isPrime[j] = false;
            }
        }
    }
}

int main() {
    int M, N;
    cin >> M >> N;
    
    vector<bool> isPrime(N + 1, true);
    sieveOfEratosthenes(N, isPrime);
    
    for (int i = M; i <= N; i++) {
        if (isPrime[i]) {
            cout << i << '\n';
        }
    }
}