首页 > 其他 > 详细

【华为练习题】 爬梯问题

时间:2016-08-24 13:13:30      阅读:282      评论:0      收藏:0      [点我收藏+]

【华为练习题】 爬梯问题

题目

一个楼梯有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;
}

【华为练习题】 爬梯问题

原文:http://blog.csdn.net/sps900608/article/details/52294049

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!