js斐波那契数列求和
2015-06-23 21:06
806 查看
一、递归算法
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
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
相关文章推荐
- js数组去重的三种常用方法总结
- jsp页面通过ajax上传多张图片
- JS获取屏幕,浏览器,页面高度及宽度
- [leetcode][javascript]Remove Linked List Elements
- 关于鼠标在屏幕上面的位置
- JS 面向对象版 贪吃蛇
- 我的javascript启蒙之路
- 深入理解javascript之作用域
- javascript之面对对象设计
- js中typeof的用法汇总[转载]
- js遍历数组和遍历对象的区别
- javascript工具--控制台详解(转自 阮一峰博客)
- Javascript性能优化案例
- js中setTimeout与setInterval
- jni 移植 JNI环境变量char, jstring 的相互转化
- js 分享qq空间,新浪微博,qq
- 深入浅出jsonp
- JS中自执行的匿名函数
- JavaScript 的性能优化:加载和执行
- 深入浅出jsonp