zoukankan      html  css  js  c++  java
  • 100个台阶,一次走一步,走两步,走三步,有多少种可能

    分析

    第一个台阶  1
    第二个台阶  11 2    //走两次1步或者走1次两步
    第三个台阶  111 12 21 3
    第四个台阶  1111 112 121 211 22 13 31
    f(n)=f(n-1)+f(n-2)+f(n-3)  第n个台阶的可能 = n-1台阶的可能+n-2台阶的可能+n-3台阶的可能 

    我这里采用了递归算法

    //param x  台阶数目
    int goadd(int x)
    {
        if (x == 1){
            return 1;
        }
        else if (x == 2){
            return 2;
        }
        else if (x == 3){
            return 4;
        }
        else{
            return goadd(x - 1) + goadd(x-2)+goadd(x-3);
        }
    
    }
    
    void main()
    {
        printf("%d", goadd(5));
        getchar();
    
    }
    作者:nfcm
    qq讨论群:313032825
    本人做了一个微信公众号,用于分享各类视频学习资源和我多年学习经验,喜欢的可以关注哦!
    公众号图片
    如果你觉得文章对你有用,不妨点下右下角的推荐按钮。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    移动端 app
    python 3.8 新特性
    vue 路由歪招
    VUE 关于组件依赖的问题
    vue 全局注册组件
    CSS小技巧
    vue踩坑记 页面跳转不新
    vuecli eslint 语法错误解决办法
    vue v-slot用法测试
    终止 IdFtp下载
  • 原文地址:https://www.cnblogs.com/nfcm/p/6368058.html
Copyright © 2011-2022 走看看