描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39分析:递归基础题目。从第0项开始求出n所对应的斐波那契数列,斐波那契数列递推公式如下: 思路一:递归实现,简单但容易超时。 class Solution { public: int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); } }; 思路二:非递归。用两个变量分别存储每次迭代所得的f(n-1)和f(n-2)的斐波那契值,用另一个变量存储f(n)的值,和兔子上台阶思路相同。 class Solution { public: int Fibonacci(int n) { if (n <= 1) return n; int first = 0, second = 1; int sum = 0; for (int i = 2; i <= n; i++) { sum = first + second; first = second; second = sum; } return sum; } };