2014-03-02 54 views
-4

我試圖創建一個函數來計算Fibonacci序列中只有偶數的和。我如何使這個if/while循環工作?Fibonacci序列中偶數的和

function fib() { 
    var x, y, total; 
    for (var i = 0; i < 10; i++) { 
    if (i === 0) { 
     x = 1; 
     y = 2; 
    } 

    while(x % 2) { 
     total = x + y; 
     x = y; 
     y = total; 
    } 

    return(total); 
    } 
}; 
+1

'if'不是一個循環。 – Cilan

+0

已標記,因爲..這不是一個問題 –

+0

@享受海龜,謝謝我修復它,並將其變成一個問題。我在這裏很新,需要學習這個系統。 – user3369726

回答

0

更換while(x % 2)while(x % 2 === 0)。您正在檢查在原始while循環中x % 2是否爲真。

1

function sumFibs(num) { 
 
    let a = 1, 
 
    b = 1, 
 
    acc = 0; 
 

 
    for (let i = 0; i < num - 2; i++) { 
 
    let c = a; 
 

 
    a += b; 
 
    b = c; 
 

 
    if (a % 2 === 0) { 
 
     acc += a; 
 
    } 
 
    } 
 

 
    return acc; 
 
} 
 

 
console.log(sumFibs(10)); // Logs out the even sum of the first 10 fabonacci sequence