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