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

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不考虑。这不就完事儿了么!

上一题 下一题