码迷,mamicode.com
首页 > 其他好文 > 详细

【华为练习题】 爬梯问题

时间:2016-08-24 13:16:47      阅读:174      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!