面试100题:19.用最快的方法求斐波那契数列第n项
来源:互联网 发布:淘宝图片空间已清空 编辑:程序博客网 时间:2024/05/19 05:30
题目:
定义Fibonacci数列如下:
0 n=0
f(n)=1 n=1,2
f(n-1)+f(n-2) n>2
输入n,用最快的方法求该数列的第n项
参考:http://blog.csdn.net/yuucyf/article/details/6625301
- /*Title: 19.用最快的方法求斐波那契数列第n项:解一
- Author: gocode
- Date: 2012-10-17*/
- #include <iostream>
- using namespace std;
- // 递归方法,时间复杂度O(n)
- int Fibonacci1(int n)
- {
- if (n==0||n==1)
- return n;
- else
- return Fibonacci1(n-1)+Fibonacci1(n-2);
- }
- // 额外空间循环方法,时间复杂度O(n)
- int Fibonacci2(int n)
- {
- int result=0;
- int a[2]={0,1};
- if (n==0||n==1)
- return n;
- else
- {
- for (int i=1;i<n;i++)
- {
- result=a[0]+a[1];
- a[0]=a[1];
- a[1]=result;
- }
- }
- return result;
- }
- int main()
- {
- cout<<Fibonacci2(5)<<endl;
- cout<<Fibonacci1(5);
- system("pause");
- return 0;
- }
0 0
- 面试100题:19.用最快的方法求斐波那契数列第n项
- 面试100题:19.用最快的方法求斐波那契数列第n项
- 【微软100题】输入n,用最快的方法求Fibonacci数列的第n项
- 微软面试100题之19题:定义Fibonacci 数列如下,用最快的方法求该数列的第n 项
- 定义Fibonacci数列,输入n,用最快的方法求该数列的第n项
- 19.定义Fibonacci数列,输入n,用最快的方法求该数列的第n项
- 输入n,用最快的方法求Fibonacci 数列的第n 项
- 求斐波那契数列第n项
- 求斐波那契数列第n项
- 19 用最快的方法求该数列的第 n 项
- 求斐波那契数列的第 n 项的值
- 17. 微软面试题:用最快的方法计算出 Fibonacci数列中的第n项
- 求斐波那契 (Fibonacci) 数列第 n 项的算法
- 求斐波那契 (Fibonacci) 数列第 n 项的算法
- 求斐波那契数列的第n项
- C++求斐波那契数列的第n项
- 第十二周-求斐波那契数列的第N项
- 求斐波那契数列第n项的优化算法
- Mysql 性能优化20个原则(3)
- 智慧战争女神、雅典娜
- Bone Collector(背包问题dp)
- C# ListView用法详解
- 第九周项目1
- 面试100题:19.用最快的方法求斐波那契数列第n项
- 20140422工作日志:命令行单斜杠,命令行输出变量
- 游戏虽好,但请您适量
- Mysql 性能优化20个原则(4)
- POJ 3358 Period of an Infinite Binary Expansion 解题报告(欧拉函数+因式分解)
- Android滑动手势侦测方法
- 动态代理、cglib、javassist的相关分析文章
- 简单智能家居结构图
- “Wi-Fi.HK”免费无线网遍布香港 网速受到人数影响