突然发现fibnacci数列数列
来源:互联网 发布:灰度共生矩阵 能量 编辑:程序博客网 时间:2024/04/29 14:45
fibnacci数列大家都知道,可以非常直观的根据递归式完成代码,为什么能非常直观的呢,因为fibnacci数列的递归式的函数定义很简单,因此啊,我觉得用程序写递归算法最难的就是通过归纳得出递归式。
public static int fibnacc(int n) {sum ++;if(n == 0) {return 0;} else if(n == 2) {return 1;} else if(n > 2) {return fibnacc(n-1) + fibnacc(n-2);}return -1;}
int i = fibnacc(43);System.out.println(i);System.out.println(sum);
从感觉上来看,时间久已经很长了。同时发现上面输出为:
267914296
866988873
说明递归层次太多了,当然也存在重复计算的问题。
由于没有在实际项目中用到过,之前没有感觉,看来还是比较恐怖的。
看来还是稍微多写几行代码吧,用迭代循环吧。
public static int fibnacc2(int n) {int prevfirst = 1;int prevseconed = 0;int fibnacc = 0;if (n == 1)return 0;else if (n == 2) {return 1;} else if(n > 2) {for (int i = 1; i <= n - 2; i++) {fibnacc = prevfirst + prevseconed;prevseconed = prevfirst;prevfirst = fibnacc;}return fibnacc;} else {return -1;}}
0 0
- 突然发现fibnacci数列数列
- fibnacci数列
- fibnacci数列
- 递归实现 Fibnacci数列
- NYOJ - Fibnacci数列
- 输出fibnacci数列
- 递推-------fibnacci数列
- 12周fibnacci数列
- fibnacci数列模板
- 关于Fibnacci数列
- 迭代求解fibnacci数列!
- 递归方法 求解fibnacci数列
- 迭代法——Fibnacci数列、
- 迭代法——Fibnacci数列
- C++ 第十三周任务-Fibnacci数列
- FIBNACCI数列中的第20个数
- fibnacci数列递归算法及改进
- 13周项目二Fibnacci数列
- hdu 2689 Sort it(线段树)
- 第9周项目5(1)-程序填充题
- 【javascript 笔记】<一>
- HDu 5074 Hatsune Miku
- 项目之开发模式
- 突然发现fibnacci数列数列
- 黑马程序员--OC--内存管理(二)
- linux环境下C语言中sleep的问题
- Android接口调用控制
- Linux查看代码工具vim+ctags+cscope+taglist
- CUDA5.5与VS2010的编译环境搭建
- LeetCodeOJ. String to Integer (atoi)
- DataRow复制一行到另一个DataTable
- 第九周项目3输出*(2)