美文网首页
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