思路:
1-2有一种路径,1-3有两种路径。看下图以5为例,到5之前必须经过3或4,所以1 - 5=1 - 3 +1 - 4,同理,1 - n = 1 - (n-1) + 1 - (n-2)
所以递推公式就能找到了就是斐波那契数列。
注意b-a足够大时,数值会超过int的范围。
/*
* Copyright (c) 2017, 安徽大学计算机科学与技术学院
* All rights reserved.
* 作 者: 杨磊
* 完成日期:2017 年 01 月 12 日
*/
#include<cstdio>
#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
#include<cmath>
#define maxn 55
double s[maxn];
using namespace std;
int main(){
int i,t,m,n;
s[1]=1;
s[2]=2;
for(i=3;i<=55;i++)
s[i]=s[i-1]+s[i-2];
scanf("%d",&t);
while(t--){
scanf("%d%d",&m,&n);
printf("%.lf\n",s[n-m]);
}
return 0;}