题目描述
Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。
但年幼的他一次只能走上一阶或者一下子蹦上两阶。
现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
输入
输入包括多组数据。
每组数据包括一行:N(1≤N≤40)。
输入以0结束
输出
对应每个输入包括一个输出。
为redraiment到达第n阶不同走法的数量。
样例输入
1
3
0
样例输出
1
3
代码
#include <stdio.h>
int main()
{
int n, i, a[41];
a[1] = 1, a[2] = 2;
for(i=3; i<41; i++)
{
a[i] = a[i-1] + a[i-2];
}
while(scanf("%d", &n) != EOF)
{
if(n==0)
break;
else
printf("%d\n", a[n]);
}
return 0;
}
斐波那契数列