斐波那契数列
斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……
在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
问题:输入 n,求斐波那契数列第n个数
解法:递归
Fn=F(n-1)+F(n-2) 像这种类型的表达式,序列中的每一个元素都由先前的元素来确定,这种序列被称为递归关系
有了递归分解式,还需简单情景进行结束递归。
简单情景:
观察可知,当n > 3 时,每项的值为前两项之和。即当n = 1 和 n = 2 时分别取值为0、1。
递归跳跃的信任
由于题目较简单,实现细节较易就能看出,未能突出体现出递归跳跃的信任的重要性。
- #include <iostream>
- using namespace std;
- int fibonacci(int n)
- {
- if (n == 0) return 0;
- if (n == 1) return 1;
- return fibonacci(n - 1) + fibonacci(n - 2);
- }
- int main()
- {
- cout << fibonacci(6) << endl;
- return 0;
- }