美文网首页
Sum All Odd Fibonacci Numbers

Sum All Odd Fibonacci Numbers

作者: yyggfffg | 来源:发表于2018-05-05 09:40 被阅读0次

给一个正整数num,返回小于或等于num的斐波纳契奇数之和。

斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8,随后的每一个数字都是前两个数字之和。

例如,sumFibs(4)应该返回 5,因为斐波纳契数列中所有小于4的奇数是 1、1、3。

提示:此题不能用递归来实现斐波纳契数列。因为当num较大时,内存会溢出,推荐用数组来实现。

function sumFibs(num) {
  var fibo=[1,1];
  var oldSum=2;
  while(true){
    var item=fibo[0]+fibo[1];
    if(num<item){
      return oldSum;
    }
    if(item%2){
      oldSum+=item;
    }
    fibo[0]=fibo[1];
    fibo[1]=item;
  }
  return oldSum;
}

sumFibs(4);

相关文章

网友评论

      本文标题:Sum All Odd Fibonacci Numbers

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