第二次周赛B题(HDU-2044)

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

Get:这是一道递推求解的题目,可能的路线数是斐波那契数列,只不过前几项不同:f(0)=0,f(1)=1,f(2)=2,f(3)=3.后面的值由f(n)=f(n-1)+f(n-2)可以求出。需要注意的是,输入值的范围是0<a<b<50,到最后的数会很大,所以用__int64long long定义变量。

AC代码:

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

猜你喜欢

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