A51997. 爬楼梯
填空题
中等
知识点
题目描述
爬楼梯
题目描述
一个人爬楼梯,每次只能爬1个或两个台阶,假设有n个台阶,那么这个人有多少种不同的爬楼梯方法?
输入
输入台阶的阶数
输出
输出有多少种爬楼梯的方法
样例输入
5
样例输出
8
参考答案
#include <iostream>
using namespace std;
int f(int n) {
if (n==1) {
return 1;
}
if (n==2) {
return 2;
} else {
return f(n-1)+f(n-2);
}
}
int main() {
int n;
cin>>n;
cout<<f(n);
return 0;
}答案解析
这道题由题目中给的意思,想要从题目里得出什么公式结论,是很不容易的,也会解不出来。所以,应该举例子,从n的值与答案关系的规律入手。列表如下:
n 答案
1 1
2 2
3 3
4 5
5 8
6 13
应该看出来了吧。当n=1时,答案为1;当n=2时,答案为2.其余都为前两数之和。n≤0不考虑。这不就完事儿了么!
上一题
下一题