개발일지/알고리즘

백준 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';
        }
    }
}

'개발일지 > 알고리즘' 카테고리의 다른 글

백준 15686번 : 치킨 배달  (0) 2025.02.02
백준 14889번 : 스타트와 링크  (0) 2025.02.02
백준 1978번 : 소수 찾기  (0) 2025.02.02
백준 1037번 : 약수  (1) 2025.02.02
백준 9095번 : 1, 2, 3 더하기  (0) 2025.02.02