function isPrime(num){
//1보다 작거나 1이면 소수가 아님
if(num<=1)return false;
//짝수 중 유일한 소수는 2, 이외는 소수가 아님
if(num%2===0){
return num ===2?true:false;
}
//홀수 중 소수판별
const sqrt = parseInt(Math.sqrt(num));
for(let div=3;div<=sqrt;div+=2){
if(num%div===0){
return false;
}
}
return true;
}
1이거나 1보다 작으면 false 반환
2가 아닌 짝수이면 false 반환
제곱근보다 작은 홀수로 나눠가면서 0으로 나누어 떨어지면 false 반환
모든 조건에 걸리지 않는다면 true 반환, 소수
isPrime(17) ? console.log("소수입니다.") : console.log("소수가 아닙니다.")
// 소수입니다.
isPrime(30) ? console.log("소수입니다.") : console.log("소수가 아닙니다.")
// 소수가 아닙니다.