您的位置:首页 > 其它

【项目2-Fibnacci序列】

2013-11-20 14:21 218 查看
输出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;
}




递归方法真的很考研思维的纵深性,就像要推开一扇扇串联的门一样,需要继续好好理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: