和之前的楼梯题一样,递推求解
但是要注意这里可以到50,结果已经超出了Int的范围,所以要用64位保存
1 #include<iostream> 2 #include<cmath> 3 #include<algorithm> 4 using namespace std; 5 6 7 int main() 8 { 9 //因为a可以到50,已经超出了int的范围,所以要用long long 10 long long a[51]; 11 a[1] = 1; 12 a[2] = 2; 13 for(int i = 3;i<=50;i++) 14 { 15 a[i] = a[i-1]+a[i-2]; 16 } 17 int t; 18 cin>>t; 19 while(t--) 20 { 21 int m,n; 22 cin>>m>>n; 23 cout<<a[n-m]<<endl; 24 } 25 26 }