zoukankan      html  css  js  c++  java
  • (递归)3089:爬楼梯

    描述

    树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数
    例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级
    也可以第一次走两级,第二次走一级,一共3种方法。

    输入

    输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出不同的走法数,每一行输入对应一行输出样例输入

    5

    8

    10

    样例输出

    8

    34

    89

    我の思考

    我们需要走n个阶梯,我们的第一步,可能是1步,也可能是2步。

    如果我们走了1步,就还要走n-1步,走了两步,还要走n-2步,所以f(n)=f(n-1)+f(n-2)。

    我の代码

    #include <iostream>
    using namespace std;
    
    int func(int n){
        if(n==1){
            return 1;
        }
    
        if(n==2){
            return 2;
        }
    
        return func(n-1)+func(n-2);
    }
    
    int main()
    {
        int n;
        while(cin>>n){
            cout<<func(n)<<endl;
        }
        return 0;
    }

    我の小结

    这里因为系统没告诉你要输入几组数据,要判断输入结束可以用while(cin>>n)这种方法,

    如果是C语言,可以用while((scanf"%d,%d",&m,&n)!=EOF)类似的。

  • 相关阅读:
    [51nod 1129] 字符串最大值(kmp)
    P3391 【模板】文艺平衡树(Splay)
    次大公约数
    青蛙的约会
    [HNOI2002]营业额统计
    GYM 100741A Queries
    P3370 【模板】字符串哈希
    P3369 【模板】普通平衡树(Treap/SBT)
    05:LGTB 与偶数
    简单计算器
  • 原文地址:https://www.cnblogs.com/rimochiko/p/7499142.html
Copyright © 2011-2022 走看看