关于JS递归函数求斐波那契数列两种实现方法
2024-08-25 10:37:45
百度已经解释的很详细了,但是不写注释还真是看不懂,递归,就直接套公式了,for循坏,我们就用EXCEL看一下规律
可以看到B是A+B的和,A往后就是B的值,所以我们需要第三个变量来保存他们的和,取出B的值给A,再把C的值给B,以此类推,上代码
//F(n)=F(n-1)+F(n-2)
console.log('---------------递归实现---------------')
function getFib(x) {
if(x==1 || x==2){//
return 1;
}
return getFib(x-1)+getFib(x-2);
}
for(var i=1;i<=10;i++){
console.log('斐波那契数第'+i+'列:'+getFib(i));
}
console.log('---------------FOR实现---------------')
//for循坏版
function demo(n) {
var a=1;
var b=a;
var c;
for (var i = 1 ; i <= n ; i++){
if(i<3){
console.log('斐波那契数第'+i+'列:'+a);
continue;
}
else {
c=a+b;//c就是第二个B的值
a=b;//原来B的值赋给A
b=c;//他们的和变成B
console.log('斐波那契数第'+i+'列:'+b);
}
}
}
demo(10);
最新文章
- 如何禁止 iPhone Safari video标签视频自动全屏?
- Java一些常见的出错异常处理
- Fragment的生命周期和Activity之间的通信以及使用
- Nginx windows下搭建过程
- Safari HTML5 Canvas Guide: Creating Charts and Graphs
- box-shadow属性
- C语言qsort函数算法性能测试
- input中range相关操作
- testng的使用
- python学习笔记(三)、字典
- HBase基础架构及原理
- Go语言之闭包
- jquery中innerwidth,outerwidth,outerwidth和width的区别
- Ubuntu 16.04安装idea
- PHP 迭代器和生成器
- mysql Out of range value adjusted for column导致Warning(1265)Data truncated for column &#39;column_name&#39; at row 1
- Hive中的Row_Number()使用
- Java设计模式(21)访问模式(Visitor者模式)
- leetcode263
- manven springmvc 项目中 slf4j 的配置使用(结合log4j 或者 logback)
热门文章
- scrapy框架--新建调试的main.py文件
- JVM系列(一) — Jvm内存模型
- 多线性方程组迭代算法——Gauss-Seidel迭代算法的Python实现
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
- JavaScript 事件——“模拟事件”的注意要点
- DOM查询的其他方法
- 关于django中的rest_framework的使用
- CSS中强大的EM(转)
- 力扣—Remove Duplicates from Sorted List(删除排序链表中的重复元素)python实现
- html使用字符串拼接js函数时传字符串参数