质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数
1 2 |
|
function isPrime(num){
// 不是数字或者数字小于2
if(typeof num !== "number" || !Number.isInteger(num)){ // Number.isInterget 判断是否为整数
return false;
}
//2是质数
if(num == 2){
return true;
}else if(num % 2 == 0){ //排除偶数
return false;
}
//依次判断是否能被奇数整除,最大循环为数值的开方
var squareRoot = Math.sqrt(num);
//因为2已经验证过,所以从3开始;且已经排除偶数,所以每次加2
for(var i = 3; i <= squareRoot; i += 2) {
if (num % i === 0) {
return false;
}
}
return true;
}
// 质数求和
function count(range){
var counter = 0;
for(var i = 0; i < range; i++){
if(isPrime(i)){
counter += i;
}
}
return counter;
}
alert(count(25));