上机内容:用递归和迭代方法求斐波那契数列某项
上机目的:学会运用迭代和递归方法
我的程序:
/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院
* All rightsreserved.
* 文件名称:20121119002.cpp
* 作 者:王鼎
* 完成日期:2012年11月19日
* 版 本 号: v1.0
* 输入描述:无
* 问题描述:输出Fibnacci序列的第20个数,Fibnacci序列形如0,1,1,2,3,5,8...
* 程序输出:Fibnacci序列中的第20个数
* 问题分析:采用递归的方法……
*/
#include<iostream>
using namespace std;
int fib(int n);
int main()
{
cout<<fib(20)<<endl;
return 0;
}
int fib(int n)
{
int c;
{
if(n==1)
c=0;
else
if(n==2)
c=1;
else
c=(fib(n-2)+fib(n-1));
}
return c;
}
运行结果:
下面是迭代的方法:
#include<iostream>
using namespace std;
int fib(int n);
int main()
{
cout<<fib(20)<<endl;
return 0;
}
int fib(int n)
{
int i;
if(n==1)
return 0;
else
if(n==2)
return 1;
else
for(i=3;i<=n;i++)
return (fib(n-2)+fib(n-1));
}
运行结果:
心得体会:至今不能完全明白递归和迭代的区别,求大神明示。