斐波那契数列
来源:互联网 发布:韩国网络加速器 编辑:程序博客网 时间:2024/06/06 02:56
下午在完成java作业时,碰到了一个非常熟悉的题,求解斐波那契数列项,不过与以前不同的是要求求解的数据是第100项,我想想100也不太大嘛,就用普通的想法做了,也就是下面的code:
int fib(int n){ if (1 == n || 2 == n) return 1; else return fib(n-1)+fib(n-2);}
顺利的编译运行,结果跑了20分钟没见结果。。。。 擦了 这么等下去不是办法 啊 转念想用循环代替递归 发现提干上明确指出要递归 。。。。。。。。。。。。。。。。。。。。。。。。绝路了
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。
终于,又搞出了另一种递归,用参数记录中间值的方法来递归 降低问题的复杂度到O(n), 也就是下面的代码
public static long Fib(int n,long last,long cur, int count)//n表示要求解的位数,last表示前一个数,cur表示当前数,count记录递归次数{if(count == n){return cur;}else{return Fib(n,cur,last+cur,count+1);}}
编译运行,刷的一下结果就出来啦
:1298777728820984005
- 斐波那契数列数列计算
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- ListView控件
- 关于HSV
- IplImage与CImage 图像类型的转换
- 面试中常考的单链表处理
- java命名规范
- 斐波那契数列
- 递归算法向非递归算法转换
- XP如何显示文件扩展名
- 复数模板类、
- 关于I2C驱动系统,将今天总结的内容简单总结一下
- oracle 11g RAC无法采用deinstall自动卸载grid,手动卸载,超级棒!
- 漏桶算法在计算机通信中的应用
- abator安装与使用
- 解析oracle的rownum