爬楼梯问题
题目描述
一个人爬楼梯,每次只能爬1个或两个台阶,假设有n个台阶,那么这个人有多少种不同的爬楼梯方法?
输入
输入台阶的阶数
输出
输出有多少种爬楼梯的方法
样例输入
5
样例输出
8
这道题由题目中给的意思,想要从题目里得出什么公式结论,是很不容易的,也会解不出来。所以,应该举例子,从n的值与答案关系的规律入手。列表如下:
n | 答案 |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 | 5 |
5 | 8 |
6 | 13 |
应该看出来了吧。当n=1时,答案为1;当n=2时,答案为2.其余都为前两数之和。n≤0不考虑。这不就完事儿了么!!!代码如下:
#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;
}
看完了,点个赞再走呗~~~o( ̄▽ ̄)ブ