FUNCTIONS + LOOPS

소수 판별기

정수를 입력하면 반복문으로 약수를 검사해 소수인지 알려드립니다.

예: 2, 17, 100, -5 · 절댓값 10억 이하

판별 원리 보기

2부터 √n 이하까지 하나씩 나누어 봅니다. 나누어떨어지는 수가 있으면 소수가 아닙니다.

function isPrime(number) {
  if (number < 2) return [false, null];

  for (let divisor = 2; divisor * divisor <= number; divisor++) {
    if (number % divisor === 0) return [false, divisor];
  }
  return [true, null];
}