문제 번호
알고리즘 분류
문제 풀이
주어진 숫자(n)를 입력받아서 n+1 이상 2*n 이하의 소수의 개수를 구하면된다. n에 대한 소수여부를 판단할때 2이상 루트n 이하 로 나눠보면 판단할 수 있다.
전체코드
const input = require('fs').readFileSync('dev/stdin').toString().split('\n');
let TC = 0;
function sol() {
let answer = '';
while (1) {
let n = +input[TC++];
if (n === 0) break;
let cnt = 0;
for (let i = n + 1; i <= 2 * n; i++) {
if (isPrime(i)) cnt++;
}
answer += `${cnt}\n`;
}
return answer;
}
function isPrime(n) {
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) return false;
}
return true;
}
console.log(sol().trim());
특이사항
'Algorithm > BaeKJoon' 카테고리의 다른 글
[JS][백준]10844_쉬운 계단 수 (0) | 2022.01.17 |
---|---|
[JS][백준]3009_네 번째 점 (XOR) (0) | 2022.01.03 |
[JS][백준]9020_골드바흐의 추측 (0) | 2022.01.03 |
[JS][백준]1712_손익분기점 (0) | 2021.12.30 |
[JS][백준]10818_최소, 최대 (0) | 2021.12.27 |