A39816. 爬楼
填空题
中等
知识点
题目描述
爬楼
题目描述
已知楼梯的数量,可以每次走2级或者3级,求不同的走法数。例如:楼梯一共有7级,一共3种方法:2 2 3或者 2 3 2 或者 3 2 2。
输入
输入包含若干行,每行包含一个正整数N,代表楼梯级数,1<= N<= 50。 最后一行为0,表示测试结束。
输出
不同的走法数,每一行输入对应一行输出
样例输入
7
0
样例输出
3
参考答案
#include <bits/stdc++.h>
using namespace std;
int pl(int n) {
if (n == 1)return 0; else if (n == 2)return 1; else if (n == 3)return 1; else return pl(n - 2) + pl(n - 3);
}
int main() {
int n;
//可以这样写
// while (cin >> n)
// {
// cout << pl(n) << endl;
// }
//也可以这样写while (1){cin >> n;if (n == 0)break;cout << pl(n) << endl;}return 0;
}
上一题
下一题