원래 check를 int배열로 만들었는데, 계속 시간 초과가 나서,,

bool로 바꿔주었더니 아주 빠르게 되었다...

 

#include <iostream>
using namespace std;


bool check[1000001];
int main() {

    int i, j, M, N;
    check[0] = check[1] = true;

    for (i = 2; i < 1000001; i++) {
    if (check[i]==false) {
        for (j = i * 2; j < 1000001; j += i)
            check[j] = true;
        }
    }

    cin >> M >> N;
    for (i = M; i < N+1; i++) {
        if (check[i] == false)
             cout << i << '\n';
    }
}

'자윤이와고리즘 > Code' 카테고리의 다른 글

[백준] 2309 | 일곱 난쟁이  (0) 2019.05.09
[백준] 6588 | 골드바흐의 추측  (0) 2019.05.08
[백준] 1978 | 소수 찾기  (0) 2019.05.08
[백준] 9613 | GCD합  (0) 2019.05.08
[백준]1934|최소공배수  (0) 2019.05.07

+ Recent posts