童年生活二三事
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Description
Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。
但年幼的他一次只能走上一阶或者一下子蹦上两阶。
现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
但年幼的他一次只能走上一阶或者一下子蹦上两阶。
现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
Input
输入包括多组数据。
每组数据包括一行:N(1≤N≤40)。
输入以0结束。
每组数据包括一行:N(1≤N≤40)。
输入以0结束。
Output
对应每个输入包括一个输出。
为redraiment到达第n阶不同走法的数量。
为redraiment到达第n阶不同走法的数量。
Sample Input
Original | Transformed |
1
2
0
Sample Output
Original | Transformed |
1
2
Source
Redraiment
——————————————————————分割线——————————————————————
思路:就这道题!俺这个炮灰做了四五遍!唉。水平太洼。其实本题并不难。它就是斐波那契数列而已。(f[0]==1) f[1]==1, f[2]==2, f[3]==3, f[4]==5, f[5]==8……
代码如下:
1 #include <stdio.h>
2 int main(){
3 int f[41], i, n;
4 f[0] = 1;
5 f[1] = 1;
6 for(i = 2; i < 41; i++)
7 f[i] = f[i-1] + f[i-2];
8 while(scanf("%d", &n) != EOF&&n){
9 printf("%d\n", f[n]);
10 }
11 return 0;
12 }