JS中關(guān)于斐波那契的實(shí)例
標(biāo)簽:
JavaScript
给一个正整数num,返回小于或等于num的斐波纳契奇数之和。
斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8,随后的每一个数字都是前两个数字之和。
例如,sumFibs(4)应该返回 5,因为斐波纳契数列中所有小于4的奇数是 1、1、3。
代码:
function fibs(n){
var a=1,b=1;
var tmp=0;
var arr=[1,1];
for(var i=3;i<=n;i++){
tmp=b;
b=a+b;
arr.push(b);
a=tmp;
}//构造斐波那契数组
var sum=0;
for(var j=0;j<arr.length;j++){
if(arr[j] % 2 !== 0){
sum += arr[j];
}
}
return [arr[arr.length - 1],sum];
}
function sumFibs(num) {
var k=3;
while(fibs(k)[0] <= num){
k++;
}
return fibs(k-1)[1];
}
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦