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],斐波那契数列
时间: 2024-12-18 20:23:49