思路:
质数是指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数。2是唯一一个既是偶数又是质数的数字。
首先判断传入的参数是否为number类型,其次将小于2的数字和偶数排除,最后用循环去检查数字(不需要检查参数开方后之后的数字,只需检查前半部分的数字就可以了)。
代码如下:
function isPrimeNum(num) {
if(typeof num !== "number") {
return false;
} else if(num < 2) {
return false;
} else if(num === 2) {
return true;
} else if(num % 2 === 0) {
return false;
}
let sq = Math.sqrt(num);
for(let i=3; i <= sq; i += 2){
if(num % i === 0) {
return false;
}
}
return true;
}
console.log(isPrime(3));