当前位置: 代码迷 >> 综合 >> 1091: 童年生活二三事(多实例测试)(c语言详解)
  详细解决方案

1091: 童年生活二三事(多实例测试)(c语言详解)

热度:56   发布时间:2023-12-05 02:37:58.0

题目描述

Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 
但年幼的他一次只能走上一阶或者一下子蹦上两阶。 
现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。

输入

输入包括多组数据。 
每组数据包括一行:N(1≤N≤40)。 
输入以0结束

输出

对应每个输入包括一个输出。 
为redraiment到达第n阶不同走法的数量。

样例输入 Copy

1
3
0

样例输出 Copy

1
3

代码部分:

#include <stdio.h>
#include <stdlib.h>int main()
{//将简单计算可知,此题为斐波那契数列类型题int n;scanf ("%d",&n);int a=1;int b=2;int c;while(n!=0){if(n==1)//当为一阶楼梯时,只有一种上发{printf ("1\n");}else if(n==2)//当有二阶楼梯时,有两种上法{printf ("2\n");}else{for(int i=3;i<=n;i++)//当有三阶及以上楼梯时,利用斐波那契数列计算{c=a+b;a=b;b=c;}printf ("%d\n",c);a=1;//初始化a,b的值,防止影响下次计算b=2;}scanf("%d",&n);}return 0;
}