【项目2-Fibnacci序列】

来源:互联网 发布:香山体重秤怎么样 知乎 编辑:程序博客网 时间:2024/05/31 19:24

输出Fibnacci序列的第20个数。要求提交两个程序,fib(int n)的实现分别用迭代方法与递归方法实现。提示:如实现困难,先从讲义看求阶乘的迭代方法与递归方法实现,深入体会后再进行设计。

#include <iostream>using namespace std;int fib(int n);int fib2(int n);int main(){   cout<<fib(20)<<endl; //输出   cout<<fib2(20)<<endl; //输出   return 0;}//返回Fibnacci序列中的第n个数int fib(int n){int a=0,b=1,c;if(1==n)return a;else  if(2==n)return b; else if(n>1) {for(int i=3;i<=n;i++)   {c=a+b;a=b;b=c;   } }return c;}int fib2(int n){if(n>2)  return fib2(n-1)+fib2(n-2);else if(1==n)return 0;else  if(2==n)return 1;}

递归方法真的很考研思维的纵深性,就像要推开一扇扇串联的门一样,需要继续好好理解。

原创粉丝点击