不要让昨天 占据你的今天 夏午晴天

夏午晴天

小蜜蜂

有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。

Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。
Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。
Sample Input

2
1 2
3 6

Sample Output

1
3

斐波那契数列

f(n) = f(n-1) + f(n-2);

比如: 从1 到 7 = 从 1 到 5 + 从 1 到 6

 1 #include <iostream>
 2 
 3 using namespace std;
 4 //f(n) = f(n-1) + f(n-2)
 5 int fib(int n)
 6 {
 7     int ans;
 8     if(n == 1)
 9         ans = 1;
10     else if(n == 2)
11         ans = 2;
12     else ans = fib(n-1) + fib(n-2);
13     return ans;
14 }
15 
16 int main()
17 {
18     int n;
19     long long fib[55];
20     fib[0] = 1;
21     fib[1] = 1;
22     fib[2] = 2;
23     for(int i = 2;i <= 50;i++)
24     {
25         fib[i] = fib[i-1] + fib[i-2];
26     }
27     while(cin >> n)
28     {
29         while(n--)
30         {
31             int a, b;
32             cin >> a >> b;
33             b = b - a;
34             cout << fib[b] << endl;
35         }
36     }
37     return 0;
38 }

 



posted on 2017-03-21 15:23  夏晴天  阅读(155)  评论(0编辑  收藏  举报

导航

Live2D