C++第13周项目1——Fibnacci序列

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565


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

//迭代法
#include <iostream>
using namespace std;
int fib(int n);
int main()
{
   cout<<fib(20)<<endl;
   return 0;      
}
//返回Fibnacci序列中的第n个数
int fib(int n)
{ 
	int f,f1,f2,i;
	if(n==1)
		return 0;
	else if(n==2)
		return 1;
	else
	{
		f1=0;
		f2=1;
		for(i=3;i<=n;++i)
		{
			f=f1+f2;
			f1=f2;
			f2=f;
		}
	}
	return f2;
}

//递归法
#include <iostream>
using namespace std;
int fib(int n);
int main()
{
   cout<<fib(20)<<endl;
   return 0;      
}
//返回Fibnacci序列中的第n个数
int fib(int n)
{ 
	if(n==1)
		return 0;
	else if(n==2)
		return 1;
	else
		return(fib(n-1)+fib(n-2));
}









上一篇:centos7+redis+php环境配置


下一篇:[算法]字符串消除问题的数学证明