algorithm

자바스크립트로 소수 구하는 알고리즘 구현(prime number in javascript)

소수란?

1과 자신을 제외한 어떠한 정수로도 나누어지지 않는 수가 소수이다. 1 ~ 1000 사이의 숫자 중에 소수만을 구하는 알고리즘을 구현해보자.

자바스크립트로 구현

function getPrimeNumber() {
  let results = [];
  // 1과 1000사이의 숫자 중에 소수를 구하기 위한 반복문
  for (let i = 1; i <= 1000; i++) {
    let isPrimeNumber = true;
    // 1과 자기 자신을 제외한 정수 중에 나눠지는 정수가 있는지 체크
    for (let j = 2; j < i; j++) {
      if (i % j === 0) {
        isPrimeNumber = false;
      }
    }

    // 소수이면 결과값에 할당
    if (isPrimeNumber) {
      results.push(i);
    }
  }

  return results;
}

1부터 1000 사이의 소수는 169개이다. 위 코드를 동작시켜보면 getPrimeNumber 함수는 169개의 소수를 포함한 배열을 return하고 있음을 확인할 수 있다.