【华为练习题】 爬梯问题

来源:互联网 发布:高德地图js定位 编辑:程序博客网 时间:2024/06/09 23:48

【华为练习题】 爬梯问题

题目

一个楼梯有N阶,从下往上走,一步可以走一阶,也可以走两阶,有多少种走法?

例如3阶楼梯有3种走法:

1、1、1

1、2

2、1

输入样例:

3

返回值样例:

3

分析

要爬上第N阶楼梯,有两种情况,从第N-1阶走一步或从第N-2阶走两步,得到递推式f(n)=f(n-1)+f(n-2)

解答

#include <iostream>using namespace std;int Stairs(int n){    if (n <= 1) return 1;    else return Stairs(n-1) + Stairs(n-2);}int main(){    int n;    cin >> n;    cout << Stairs(n) << endl;    return 0;}
1 0
原创粉丝点击