李家豪的编程小屋

起飞的IT菜鸟

迭代方法

/*
 * Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者: 李家豪
* 完成日期:2013 年10月23日
* 版 本 号:v1.0
* 问题描述:输出Fibnacci序列的第20个数。要求提交两个程序,fib(int n)的实现分别用迭代方法
            与递归方法实现。提示:如实现困难,先从讲义看求阶乘的迭代方法与递归方法实现,
            深入体会后再进行设计。

* 样例输入:8		-7	3	12
* 样例输出:-8      -7  10   -145
* 问题分析:输入x,按公式求出y的值并输出。
*/

//迭代法
#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;
}


运行结果:

体会心得: 哇哇哈哈哈哈,终于传图片显示出来了,开心~

阅读更多
上一篇课外....
下一篇递归法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭