您的位置:首页 > Web前端 > JavaScript

js斐波那契数列求和

2017-06-04 11:39 337 查看
一、递归算法

function recurFib(n) {

if (n < 2) {

return n;

}

else {

return recurFib(n-1) + recurFib(n-2);

}

}

alert(recurFib(10));//将显示55







二、动态规划法

function dynFib(n) {

var val = [];

for (var i = 0; i <= n; ++i) {

val[i] = 0;

}

if (n == 1 || n == 2) {

return 1;

}

else {

val[1] = 1;

val[2] = 2;

for (var i = 3; i <= n; ++i) {

val[i] = val[i-1] + val[i-2];

}

return val[n-1];

}

}

alert(dynFib(10));//将显示55



三、迭代法



function iterFib(n){

var last=1;

var nextlast=1;

var result=1;

for(var i=2;i<n;++i){

result=last+nextlast;

nextlast=last;

last=result;

}

return result;

}

alert(iterFib(10));//将显示55

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: