자바스크립트 에라토스테네스의 체 알고리즘

버건디·2023년 5월 10일
0
function sosu(n) {
  // 0과 1 제외하고 일단 다 true로 만들어줌
  let arr = Array(n + 1)
    .fill(true)
    .fill(false, 0, 2);

  // i를 2부터 시작해서, i * i , 즉 2의배수를 false, 3의배수...를 false로 만들어준다

  for (let i = 2; i * i <= n; i++) {
    if (arr[i]) {
      for (let j = i * i; j <= n; j += i) {
        arr[j] = false;
      }
    }
  }

  return arr;
}
profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글