美文网首页Web 前端开发 让前端飞
【Javascript】计算斐波那契数列中小于等于num的所有奇

【Javascript】计算斐波那契数列中小于等于num的所有奇

作者: 雨水之后 | 来源:发表于2017-11-30 14:08 被阅读0次
function sumFibs(num) {

  var sum = 0;
  var fib = [1,1];  //初始化Fibonacci的前两个数,便于计算
  var odd = [];  //用于储存奇数

  //求出小于等于num的Fibonacci的所有数
  for(var i=2;i<=num;i++){
    fib[i] = fib[i-2] + fib[i-1];
    if(fib[i]>num){break;}
  }
  fib.pop();

  //把上面求出的数组中的所有奇数找出来
  for(var j=0;j<fib.length;j++){
    if(fib[j]%2!==0){
      odd.push(fib[j]);
    }
  }

  //计算奇数数组之和
  sum = odd.reduce((a,b)=>a+b);

  return sum;

}

验算:

sumFibs(6666); //result: 7563

THE END.

相关文章

网友评论

    本文标题:【Javascript】计算斐波那契数列中小于等于num的所有奇

    本文链接:https://www.haomeiwen.com/subject/wrevbxtx.html