您的位置:首页 > 其它

【笔试】1、斐波拉契数列

2015-08-08 19:03 197 查看
/*
* 题目:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
		问每个月的兔子总数为多少?   
* 时间:2015年7月27日08:47:08
* 文件:lianxi01.cpp
* 作者:cutter_point
*/

#include <iostream>
#include <fstream>

using namespace std;

int main()
{

	ifstream input("lianxi01in.txt");	//文件输入
	ofstream output("lianxi01out.txt");  //文件输入

	//我们输出的时候可以发现斐波那契数列有一个规律就是F(n) = F(n-1) + F(n-2),并且n:1=1,n:2=1
	unsigned int n1, n2, M;

	n1 = n2 = 1;	//初始化
	M = 12;	//12个月

	//我们统计12个月的
	for (int i = 0; i < M; ++i)
	{
		//12个月,第一个月和第二个月是例外,都是1,由于我们要使用到n-1和n-2,所以我们还得保留前两个值
		if (i < 2)
		{
			output << "===第===>" << i + 1 << "<===个月的兔子数为:<===>2<===>只" << endl;
		}
		else
		{
			//如果不是前2个月的话,那么我们就得计算
			//下一个月的数据是钱两个月的数据的和
			int temp = n1;
			n1 = n2;
			n2 = temp + n2;
			output << "===第===>" << i + 1 << "<===个月的兔子数为:<===>"<<n2<<"<===>对" << endl;
		}
	}

	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: