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하고 있음을 확인할 수 있다.