• 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
    本人做了一个微信公众号,用于分享各类视频学习资源和我多年学习经验,喜欢的可以关注哦!
    公众号图片
    如果你觉得文章对你有用,不妨点下右下角的推荐按钮。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    os
    linux常用命令
    css-基础知识
    awk命令详解
    文献综述
    微信JSAPI支付
    SNMP详解
    SNMP进阶
    SNMP协议入门
    SNMP简单网络管理协议
  • 原文地址:https://www.cnblogs.com/nfcm/p/6368058.html
Copyright © 2020-2023  润新知