斐波那契数列
2017-11-12 22:19
162 查看
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
科普:斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。
方法一:递归,很常用的方法,但是因为运算起来太复杂,会报错超出时间之类的
方法二:动态规划,每次只用两个数来回的右移。时间复杂度达到了O(n)
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
科普:斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。
方法一:递归,很常用的方法,但是因为运算起来太复杂,会报错超出时间之类的
class Solution { public: int Fibonacci(int n) { if(n==0) return 0; if(n==1) return 1; return Fibonacci(n-1)+Fibonacci(n-2); } };
方法二:动态规划,每次只用两个数来回的右移。时间复杂度达到了O(n)
class Solution { public: int Fibonacci(int n) { int f=0,g=1; while(n-->0) { g=f+g; f=g-f; } return f; } };
相关文章推荐
- 第十二周项目3斐波那契数列
- 斐波那契数列心得
- go语言斐波那契数列实现
- 十七、斐波那契数列 【递推思想(迭代思想)解决】
- hdu 5171 GTY's birthday gift (矩阵快速幂求类斐波那契数列)
- 剑指Offer——斐波那契数列
- M斐波那契数列(矩阵快速幂+费马小定理)
- HDU-2672 god is a girl 斐波那契数列
- 剑指offer之斐波那契数列(Fibonacci)
- 斐波那契数列及相关问题
- 面试题9:斐波那契数列
- 斐波那契数列与阶乘---递归实现
- 循环队列,4阶斐波那契数列
- 斐波那契数列
- 剑指offer——斐波那契数列相关问题总结
- HD2041 超级楼梯【斐波那契数列】
- 斐波那契数列 Java实现
- 斐波那契数列
- 关于斐波那契数列三种解法及时间复杂度分析
- 斐波那契数列