【问题解决】斐波那契数列
2017-04-07 17:39
127 查看
f(n) = 0 , n = 0; = 1 , n = 1; = f(n-1)+f(n-2), n >=2; 如果使用递归,代码比较简单,但是递归深度太大,容易造成线程栈溢出以及重复计算太多,效率极低
循环代码如下:
#include<iostream> using namespace std; /* 斐波那契数列 可以用递归或者循环,但是递归在n很大的时候效率太低 */ long long Fibonacci(size_t n) { int arr[] = { 0, 1 }; int FinumN_1 = 1; int FinumN_2 = 0; int FinumN = 0; if (n < 2) { return arr ; } for (size_t i = 2; i <= n; i++) { FinumN = FinumN_1 + FinumN_2; FinumN_2 = FinumN_1; FinumN_1 = FinumN; } return FinumN; } void main(int argc,void *argv) { size_t n = 35; cout << Fibonacci(n) << endl; system("pause"); }
相关文章推荐
- 使用递推和递归解决斐波那契数列问题~~~
- 使用递归解决斐波那契数列的性能问题
- 如何解决斐波那契数列递归方法的性能问题
- python解决“斐波那契数列”问题
- java编程经典案例之基于斐波那契数列解决兔子问题实例
- 递归解决-兔子问题-斐波那契数列
- c/c++ 斐波那契数列 利用模板元解决递归慢的问题
- C++递归解决斐波那契数列问题
- python入门之解决“斐波那契数列”问题
- 斐波那契数列(用Java解决兔子数目问题)
- 问题事件名称: APPCRASH(解决方法)
- 【转】在Ubuntu中安装Virtualbox出现问题的解决办法
- 解决SQL2008无法附加SQL2000数据库问题
- win8系统下IE浏览器闪退的问题解决步骤
- 解决乱码问题
- 同时安装office2003和2007打开2007自动安装配置问题解决
- 在windows下使用putty连接虚拟中的linux出现主机拒绝的问题(已解决)
- XMLHTTP抓取数据时乱码问题解决 选择自 babyt 的 Blog
- 收集数据能帮我们解决未来的问题,才叫大数据