题目描述
Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。但年幼的他一次只能走上一阶或者一下子蹦上两阶。现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。
输入
输入包括多组数据。每组数据包括一行:N(1≤N≤40)。输入以0结束。
输出
对应每个输入包括一个输出。为redraiment到达第n阶不同走法的数量。
样例输入
1
2
0
样例输出
1
2
代码如下
#include <iostream>
using namespace std;
int Jump(int n);
int main()
{
int n;
while(cin>>n&&n>=1&&n<=40&&n!=0)
{
cout<<Jump(n)<<endl;
}
return 0;
}
int Jump(int n)
{
if (n==1)
return 1;
else if (n==2)
return 2;
else
return Jump(n-1)+Jump(n-2);
}
运行结果: