【FCC】Sum All Odd Fibonacci Numbers--斐波纳契奇数之和
生活随笔
收集整理的這篇文章主要介紹了
【FCC】Sum All Odd Fibonacci Numbers--斐波纳契奇数之和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
給一個正整數num,返回小于或等于num的斐波納契奇數之和。
斐波納契數列中的前幾個數字是 1、1、2、3、5 和 8,隨后的每一個數字都是前兩個數字之和。
例如,sumFibs(4)應該返回 5,因為斐波納契數列中所有小于4的奇數是 1、1、3。
提示:此題不能用遞歸來實現斐波納契數列。因為當num較大時,內存會溢出,推薦用數組來實現。數組實現斐波那契數列資料。
思路:
先用數組的方法獲取斐波那契數列,然后獲取其中符合要求的奇數,之后求和。
代碼:
<script type="text/javascript">
function sumFibs(num) {
//使用數組方法得到斐波那契數列
var arr = [1, 1];
if (num >= arr.length) {
for (var i = arr.length; i < num; i++) {
arr[i] = arr[i - 2] + arr[i - 1];
}
}
console.log(arr);
//獲取小于num的奇數
var newarr = arr.filter(function(val) {
return val % 2 !== 0 && val <= num;
});
console.log(newarr);
//獲取符合要求的奇數的和
return newarr.reduce(function(cur, next) {
return cur + next;
});
}
sumFibs(4);
</script>
總結
以上是生活随笔為你收集整理的【FCC】Sum All Odd Fibonacci Numbers--斐波纳契奇数之和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript斐波纳契数列非递归算
- 下一篇: 【FCC】Sum All Primes求