Algorithm
JavaScript - 소수 판별
besforyou999
2022. 7. 15. 15:23
주어진 숫자 number가 소수인지 아닌지 판별하는 단순한 코드
2부터 number까지의 숫자로 number를 나누어 보고 나머지가 존재하면 false를 반환하고, 나머지가 존재하는 경우가 없으면 true를 반환하는 함수
1
2
3
4
5
6
7
8
9
10
|
const isPrime = function(number) {
if (number <= 1) return false;
if (number === 2) return true;
for (let i = 2 ; i <= number ; i++) {
if (number % i === 0) {
return false;
}
}
return true;
}
|
cs |
하지만 위 함수보다 더 효율적인 함수가 있다.
1
2
3
4
5
6
7
8
9
10
11
|
const isPrime = function(number) {
if (number <= 1) return false;
if (number === 2) return true;
for (let i = 2 ; i <= Math.floor(Math.sqrt(number)) ; i++) {
if (number % i === 0) {
return false;
}
}
return true;
}
|
cs |
원리 : 에라토스테네스의 체
에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전
ko.wikipedia.org