【 OJ 】超级楼梯

超级楼梯

发布时间: 2017年11月12日 12:31   最后更新: 2017年11月12日 12:33   时间限制: 1000ms   内存限制: 128M

有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。

对于每个测试实例,请输出不同走法的数量

2
2
3
1
2
代码
  简单粗暴,用空间换时间,当然这40个数也可以在程序里算,耗时大概200ms,也是可以过
 1 #include <stdio.h>
 2 int main(){
 3     unsigned t;
 4     scanf( "%u", &t );
 5     int res[41] = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
 6                     89,144,233,377,610,987,1597,2584,4181,6765,
 7                     10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,
 8                     1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155};
 9     while( t-- ){
10         unsigned n;
11         scanf( "%u", &n );
12         printf( "%d", res[n] );
13         if( t != 0 )
14             printf( "
" );
15     }
16     return 0;
17 }
道阻且长,行则将至。
原文地址:https://www.cnblogs.com/forfriendforfun/p/8120320.html