#include <iostream>
using namespace std;
int n, m;
int che[1000001] = {1, 1};
int main(void)
{
ios_base::sync_with_stdio(0);
cout.tie(0);
cin >> n >> m;
// 에라토스테네스의 체
for(int i = 2 ; i < 1000001 ; i++)
{
if(che[i] == 1)
{
continue;
}
int idx = 2;
while(i * idx <= 1000000)
{
che[i * idx++] = 1;
}
}
for(int i = n ; i <= m ; i++)
{
if(!che[i]) cout << i << '\n';
}
}
[Try]
1. 에라토스테네스의 체 사용했더니 너무 쉽게 풀었다.. 왜 실버2인거지??
[Point]
1. 백만개를 다 돌 필요 없이 최대 입력값 m 까지만 돌아도 됐을 것 같다.
2. 완전탐색 방식으로 전부 돌려도 성공이 뜨는 것 같다. 2초에 거의 근접하게 뜬다.
[More]
'PS > BOJ' 카테고리의 다른 글
[백준] 4948.cpp : 베르트랑 공준 (0) | 2020.05.26 |
---|---|
[백준] 11723.cpp : 집합 (0) | 2020.05.26 |
[백준] 18111.cpp : 마인크래프트 (0) | 2020.05.23 |
[백준] 2805.cpp : 나무 자르기 (0) | 2020.05.21 |
[백준] 1966.cpp : 프린터 큐 (0) | 2020.05.20 |