1.问题描述

求小于等于给定数值的质数之和。

只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。

给定的数不一定是质数。

2.用到的方法

外面一套循环由2到num,里面一套循环用来判断当前值是否为质数,用flag标识,最后reduce求和。

3.代码如下

function sumPrimes(num) {
  var p=[];
  for(var i =2;i<=num;i++){
    var flag = true;
    for(var j=2;j<i;j++){                    
      if(i%j === 0){flag=false;break;}
    }
    if(flag){p.push(i);}
  }
  return p.reduce(function(sum,cur){return sum+cur;});
}
Last modification:May 13th, 2020 at 02:03 am
如果觉得我的文章对你有用,请随意赞赏