少数の判別


小数を判別する方法は大きく2つある.
// 1. Math.sqrt 사용하는 방법
function isPrime(num) {
  if (num === 1) return false;
  for (let i = 2; i <= Math.sqrt(num); i++) {
    if (num % i === 0) return false;
  }
  return true;
}

// 2. 에라토스테네스의 체
// 참고: https://blog.naver.com/PostView.naver?blogId=ndb796&logNo=221233595886&redirect=Dlog&widgetTypeCall=true&directAccess=false
function Eratosthenes() {
  let arr = new Array(3000).fill(0).map((_, index) => index);

  for (let i = 2; i < 3000; i++) {
    if (arr[i] === 0) {
      continue;
    }

    for (let j = i + i; j < 3000; j += i) {
      arr[j] = 0;
    }
  }
  // 0, 1 제외
  arr = arr.filter((v) => v !== 1 && v !== 0);
  return new Set(arr);
}