斐波那契数列

       斐波那契数列指的是这样一个数列: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

递归跳跃的信任

        由于题目较简单,实现细节较易就能看出,未能突出体现出递归跳跃的信任的重要性。

 

  1. #include <iostream>  
  2. using namespace std;  
  3. int fibonacci(int n)  
  4. {  
  5. if (n == 0) return    0;  
  6. if (n == 1) return    1;  
  7. return  fibonacci(n - 1) + fibonacci(n - 2);  
  8. }  
  9. int main()  
  10. {  
  11. cout << fibonacci(6) << endl;  
  12. return    0;  
  13. }  

 

 

 

 

 

posted @ 2017-06-17 23:29  yueyang2017  阅读(185)  评论(0编辑  收藏  举报