#include <stdio.h>
#include <stdlib.h>
int fun(int n);
int main()
{
int n;
int y;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
return 0;
y=fun(n);
printf("%d\n",y);
}
return 0;
}
int fun(int n)
{
int t;
if(n==1)
t=1;
else if(n==2)
t=2;
else
t=fun(n-1)+fun(n-2);
return t;
}
//楼梯问题:其实只是斐波那契额数列,n阶最后有两种走法n-2或n-1以此类推而初始情况是n=1是有一种n=2手有两种。
//例如:n=5,就是n为5=4+3,4=3+2,3=2+1就是5=2+1+2+2+1
//爬楼梯的实质就是以1阶和2阶为基础有多推少。
Description
Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
Input
输入包括多组数据。 每组数据包括一行:N(1≤N≤40)。 输入以0结束。
Output
对应每个输入包括一个输出。 为redraiment到达第n阶不同走法的数量。
Sample Input
1
2
0
Sample Output
1
2