考虑到Fibonacci序列中的值不超过四百万的项,找到偶数项的总和

时间:2016-09-28 05:04:35

标签: javascript html

我是使用java脚本解决此类问题的新手

Fibonacci序列中的每个新术语都是通过添加前两个术语生成的。从1和2开始,前10个术语将是:

1,2,3,5,8,13,21,34,55,89,......

通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和。

这是我的java脚本

function solution()  
{  
var fibno = [ 1, 2 ], sum = 0;  

function cal(arr )  
{  
return arr[ arr.length - 1 ] + arr[ arr.length - 2 ];  
}  

while ( fibno[ fibno.length - 1 ] < 4e+6 )  
{  
  fibno.push( cal(fibno) );  
}  

fibno.forEach( function(n)   
 {  
    if ( n % 2 === 0 )  
    {  
        sum += n;  
    }  
});  
return sum;  
}  

console.log(solution()) 

我不明白如何使用html打印斐波纳契系列而不使用此脚本的控制台

请帮助我.....

1 个答案:

答案 0 :(得分:0)

这对我有用:

&#13;
&#13;
function* fibonacci(){
  var fn1 = 0;
  var fn2 = 1;
  while (true){  
    var current = fn1;
    fn1 = fn2;
    fn2 = current + fn1;
    var reset = yield current;
    if (reset){
        fn1 = 0;
        fn2 = 1;
    }
  }
}

var sequence = fibonacci();

var sum = 0, x = sequence.next().value;

while(x < 4000000){
    if(x % 2 === 0){
         sum += x;  
    } 
    x = sequence.next().value;
}

console.log(sum);
document.getElementById('res').innerHTML = sum;
&#13;
<div id="res"></div>
&#13;
&#13;
&#13;