第二次周赛C题(HDU-2046)

问题链接:https://vjudge.net/problem/HDU-2046

Get:这是一道递推求解题,n规模的格子只能从n-1和n-2得来,n-1的时候增加一个格子,只能竖着放,n-2的时候增加两个格子,只能横着放(如果竖着放,就跟n-1的时候重复了)。所以f(n)=f(n-1)+f(n-2),符合斐波那契数列。到了后面f(n)越来越大,所以用__int64或long long定义变量。

AC代码:

#include <iostream>
using namespace std;
int main()
{
	int n;
	__int64 a[50] = { 1,2,3 };
	while (cin >> n)
	{
		for (int i = 3; i < n; i++)
		{
			a[i] = a[i - 1] + a[i - 2];
		}
		cout << a[n - 1] << endl;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43973189/article/details/85075908