Sum All Odd Fibonacci Numbers-freecodecamp算法題目
阿新 • • 發佈:2018-07-13
return com function .com 利用 number script () +=
Sum All Odd Fibonacci Numbers
1.要求
- 給一個正整數num,返回小於或等於num的斐波納契奇數之和。
- 斐波納契數列中的前幾個數字是 1、1、2、3、5 和 8,隨後的每一個數字都是前兩個數字之和。
- 此題不能用遞歸來實現斐波納契數列。因為當num較大時,內存會溢出,推薦用數組來實現。
2.思路
- 利用for循環得出斐波納契數前一百個數組成的數列arr
- 用.filter()按順序提出arr中的所有奇數
- 利用for循環計算小於或等於num的斐波納契奇數之和
3.代碼
function sumFibs(num) { var arr=[1,1]; var sum=0; for (var i=2;i<100;i++){ arr[i]=arr[i-2]+arr[i-1]; } arr=arr.filter(function(val){ return val%2 ===1; }); for(var j=0;arr[j]<=num;j++){ sum +=arr[j]; } return sum; } sumFibs(3);
4.相關鏈接
- http://www.cnblogs.com/meteoric_cry/archive/2010/11/29/1891241.html
Sum All Odd Fibonacci Numbers-freecodecamp算法題目