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
1
2
0
Sample Output
1
2
方法:其实就是求斐波那契数列.a[0]=1,a[1]=1,a[2]=2,a[3]=3......
#include "stdio.h" #define NUM 100 int main() { int f[NUM],n,ans,i; f[0]=f[1]=1; scanf("%d",&n); while(n != 0) { for(i=2;i<=n;i++) { f[i]=f[i-1]+f[i-2]; } printf("%d\n",f[n]); scanf("%d",&n); } return 0; }