游客 Signup | Login
中文 | En

2141 - 上楼梯

现在有 N 阶楼梯,小明上楼梯时一次只能上 一阶 或者 两阶 ,小明想知道上完这 N 阶楼梯最多有多少种方法。聪明的程序员们能帮助他算算吗?

Input

第一行输入一个 T ,表示有T组测试数据,每组测试数据有一个整数N,表示有N阶楼梯。

Output

输出上完N阶楼梯最多的方法数,每组测试数据占一行。(这里保证正确的结果不超过32位整型的范围)

Examples

Input

3
0
2
5

Output

1
2
8

Solution C

#include <stdio.h>
int main() {
    int f[50] ;
    f[0] = f[1] = 1 ;
    for( int i = 2 ; i < 46 ; i ++ ) {
        f[i] = f[i-1] + f[i-2] ;
    }
    int T ; scanf("%d" , &T ) ;
    while( T -- ) {
        int n ; scanf("%d" , &n ) ;
        printf("%d\n" , f[n] ) ;
    }
    return 0 ;
}

Solution C++

#include<stdio.h>

int f[1000] = {1, 1, 2};
int main() {
  for( int i = 3; i < 1000; ++i ) f[i] = f[i-1] + f[i-2];
  int t, n;
  scanf("%d", &t);
  while(t--) {
    scanf("%d", &n);
    printf("%d\n", f[n]);
  }
  return 0;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题