杭电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
", i > j ? 0 : d[j-i]);
11     return 0;
12 }

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

原文地址:https://www.cnblogs.com/wuyuewoniu/p/3963678.html