描述

Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 
但年幼的他一次只能走上一阶或者一下子蹦上两阶。 
现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。

输入

输入包括多组数据。 
每组数据包括一行:N(1≤N≤40)。 
输入以0结束。

输出

对应每个输入包括一个输出。 
为redraiment到达第n阶不同走法的数量。

样例输入

1
2
0

样例输出

1
2

ACcode:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
int n;
int fib[41];
fib[1] = 1;
fib[2] = 2;
for(int i=3; i<=40; i++){
fib[i] = fib[i-1] + fib[i-2];
}
while(~scanf("%d",&n), n){
printf("%d\n",fib[n]);
}
return 0;
}

  

05-11 21:47