测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题