HDU 2044 一只小蜜蜂... (斐波那契数列)

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044

题目分析:其实仔细读题就会发现其中的规律,f (n) = \left\{\begin{matrix} n& (n = 1,2)\\ f(n -1) + f(n - 2) & (n \geqslant 3) \end{matrix}\right. 其中n = a - b;这是一个典型的斐波那契数列。


代码如下:

#include <iostream>
using namespace std;

int t, a, b;
long long num[50];

long long dp(int n) {
	num[1] = 1;
	num[2] = 2;
	if (n > 2) 
		for (int i = 3; i <= n; i++)
			num[i] = num[i - 1] + num[i - 2];
			
	return num[n];
}
int main() {
	cin >> t;
	while (t--) {
		
		cin >> a >> b;
		cout << dp(b - a) << endl;
	}
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/laugh12321/article/details/81488670