斐波拉契数列的三种写法
来源:互联网 发布:hadoop 属于java吗 编辑:程序博客网 时间:2024/05/21 06:38
斐波拉契数列 :1、1、2、3、5、8、13、21、34...... 经过查资料掌握了三种斐波拉契数列的计算方法:
1.使用递归,也是最容易理解的,但是在递归的过程中有重复计算项导致计算效率极低,而且消耗大,具体代码:
int fibonacci(int index){ if(index <= 2) return 1; return fibonacci(index -1) + fibonacci(index - 2)}
在这个过程中调用了两层递归,有很多重复计算项;
2.用for循环,用三个临时变量来保存每一次循环的计算结果:
int fibonacci(int index){int a = 0;int b = 1;int c = 1;for (int i = 1; i < index; i++){c = a + b;a = b;b = c;}return c;}3.对递归进行改进:
int fibonacci(int index, int a0, int a1){if (index == 0) return a0;if (index == 1) return a1;elsereturn fibonacci(--index, a1, a0 + a1);}也是有两个临时变量a0和a1来保存每一步的计算结果,能够较快的计算出结果。
0 0
- 斐波拉契数列的三种写法
- 递归之斐波那契数列java的三种写法
- 【Python】Python_learning7:Python中斐波那契数列三种写法
- 斐波拉契数列的三种解法
- 数组的三种写法
- 依赖的三种写法
- 赋值的三种写法
- 三种urls的写法
- Action的三种写法
- swap的三种写法
- for的三种写法
- Python中斐波那契数列的四种写法
- 求数列和的三种方法
- angularjs 的controller的三种写法
- Hibernate 三种连接池的写法
- 二分查找的三种写法
- Extjs 继承控件的三种写法
- 常用的三种日志写法
- [备忘]模拟生成服务器返回JSON格式数据
- hadoop中hdfs主节点会储存数据吗?
- 写文章、做PPT的总结
- cocos2d-x 3.x(C++)实现屏幕震动效果
- bringSubviewToFront无效、不好使
- 斐波拉契数列的三种写法
- spring 通配符大全
- PythonTip(1~5)题详解
- 产生随机数的一些方法
- AngularJS实现跨域访问
- 数据库连接池的工作原理
- 数据结构(四) 串
- Android应用权限的动态获取
- HDU:2553 n皇后问题