斐波那契数列,用递归+剪枝,剪枝通过数组的记忆化来实现
#include <iostream>
#include <cstdio>#define MAX 100
using namespace std;
long long fun[MAX];
long long Fi(int n)
{
if(fun[n]) return fun[n]; //记忆化
else return fun[n]=Fi(n-1)+Fi(n-2);
}
int main()
{
int n;
cin>>n;
fun[0]=1;fun[1]=1;fun[2]=2;
while(n--)
{
int a,b;
cin>>a>>b;
cout<<Fi(b-a)<<endl;
}
return 0;
}