HDOJ杭电2044
思路:
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;}