杭电2044

 1 #include <stdio.h>

 2 int main()

 3 {

 4     int i, j, n;

 5     __int64 d[51] = {1, 1, 2,};

 6     for (i = 3; i < 51; i++)

 7         d[i] = d[i-1] + d[i-2];

 8     scanf("%d", &n);

 9     while (n-- && scanf("%d%d", &i, &j) != EOF)

10         printf("%I64d\n", i > j ? 0 : d[j-i]);

11     return 0;

12 }

因为爬到第n格可以是由第n-1格爬过来的,也可以是n-2格爬过来的,所以d[i]=d[i-1]+d[i-2],斐波那契数列

你可能感兴趣的:(杭电)