//소수 구하기
const question = `3 16`;
// 3
// 5
// 7
// 11
// 13
const fs = require("fs");
const input =
process.platform === "linux"
? fs.readFileSync("/dev/stdin", "utf8").trim()
: question;
let result = [2, 3];
const [startIdx, lastIdx] = input.split(" ").map(Number);
for (let num = startIdx; num <= lastIdx; num++) {
if (
result.every((pn) => {
// console.log(num, pn);
return num % pn !== 0;
})
) {
// console.log("num", num);
result.push(num);
continue;
}
}
console.log(result.filter((int) => int >= startIdx).join("\n"));
//소수 구하기
const question = `3 100`;
// 3
// 5
// 7
// 11
// 13
const fs = require("fs");
const input = (
process.platform === "linux"
? fs.readFileSync("/dev/stdin", "utf8").trim()
: question
).split("\n");
const [startNum, lastNum] = input[0].split(" ").map(Number);
let isPrimeNumber = Array(lastNum + 1).fill(true);
isPrimeNumber[0] = isPrimeNumber[1] = false;
const results = [];
for (let i = 2; i <= Math.ceil(Math.sqrt(lastNum)); i++) {
let mutipleIdx = 2;
while (i * mutipleIdx <= lastNum) {
isPrimeNumber[i * mutipleIdx] = false;
mutipleIdx++;
}
}
isPrimeNumber.filter(
(list, idx) => idx > startNum - 1 && list && results.push(idx)
);
console.log(results.join("\n"));
참고:
맞은 코드 참고 사이트
https://velog.io/@gkswn45/JavaScript-%EB%B0%B1%EC%A4%80-1929%EB%B2%88-%EC%86%8C%EC%88%98%EA%B5%AC%ED%95%98%EA%B8%B0