시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 256 MB | 113871 | 31822 | 22535 | 27.178% |
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
3 16
3
5
7
11
13
const fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim().split(' ');
const a = parseInt(input[0]);
const b = parseInt(input[1]);
let ret = '';
if(b <= 1)
return;
let arr = new Array(b+1).fill(true);
arr[0] = false;
arr[1] = false;
for(let i = 2 ; i <= b ; i ++){
if(arr[i]){
for(let j = i * i ; j <= b ; j+=i )
arr[j] = false;
}
}
for(let i = a ; i <= b ; i ++){
if(arr[i])
ret += i + '\n'
}
console.log(ret.trim());