캐또's coding

4948 - 베르트랑 공준 - node.js 본문

기초 공부/백준 문제 풀이

4948 - 베르트랑 공준 - node.js

JS_K_coding 2022. 8. 30. 11:01

https://www.acmicpc.net/problem/4948

 

4948번: 베르트랑 공준

베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼

www.acmicpc.net


이전에 해결했던 소수 찾기 문제에서 범위를 수정해주는 방법으로 문제를 해결해나갈 수 있다.

2022.08.29 - [백준 문제 풀이/문제 풀이] - 1929 - 소수 구하기 - node.js

 

1929 - 소수 구하기 - node.js

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.a..

lkfkimschool.tistory.com

 

const input = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n").map((num)=>parseInt(num));
while (true) {
  const L = input.shift();
  if (L == 0) {
    break;
  }
  let count = 0;
  const H = L * 2;
  const arr = new Array(H + 1);

  arr.fill(true);
  for (let i = 0; i <= L; i++) {
    arr[i] = false;
  }
  for (let j = 2; j < H + 1; j++) {
    if (parseInt(Math.pow(j, 2) > H)) {
      break;
    } else {
      for (let k = parseInt(Math.pow(j, 2)); k < H + 1; k += j) {
        arr[k] = false;
      }
    }
  }
  for (let l = 2; l < H + 1; l++) {
    if (arr[l]) {
      count++;
    }
  }
  console.log(count);
}

 

'기초 공부 > 백준 문제 풀이' 카테고리의 다른 글

2738 - 행렬 덧셈 - node.js  (0) 2022.12.20
9020 - 골드바흐의 추측 - node.js  (0) 2022.12.08
1929 - 소수 구하기 - node.js  (0) 2022.08.29
11653 - 소인수분해 - node.js  (0) 2022.08.29
2581 - 소수 - node.js  (0) 2022.08.29
Comments