#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
using namespace std;
#define INF 1234567890
bool arr[2000010];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int a,b;
cin >> a >>b;
int j;
arr[1] = true;
for (int i = 2; i < sqrt(2000010); i++) {
if (arr[i] == true) continue;
for (int j = i + i; j <= 2000010; j+=i) {
arr[j] = true;
}
}
for (int i = a; i <= b; i++) {
if (!arr[i]) cout << i << "\n";
}
return 0;
}
소수 구하기
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 256 MB | 33803 | 9486 | 6618 | 28.542% |
문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000)
출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
예제 입력 1
3 16
예제 출력 1
3
5
7
11
13