zoukankan      html  css  js  c++  java
  • python假设一段楼梯共 n(n>1)个台阶,小朋友一步最多能上 3 个台阶,那么小朋友上这段楼 梯一共有多少种方法

    我们先把前四节种数算出来(自己想是哪几类,如果你不会算,那就放弃写代码吧,干一些在街上卖肉夹馍的小生意,也挣得不少)

    标号 1    2    3     4

    种类 1    2    4     7

    假如你求第四台阶你可以把她视为  第三台阶到第四台阶  第三到第四有几种?显然就一种就是跨一步到第四台阶(就是4x1种) 同理 第二到第三台阶也是夸一步到第三个台阶(2x1) 第一到第二就一种那就是 1

    第四种可以等于 4 +2+1=7(种)

    只是一种思想 屌大的人也可以看出来 发现 第n项的值 为前n-1项的和

    总结 没人会一步跨三个或两个台阶的何况是小朋友!!!

    代码递归

    # 你会发现 下一节的 数为前 三节的和
    def climbStairs(n):
        first3 = {1:1, 2:2, 3:4}
        if n in first3.keys():
            return first3[n]
        else:
            return climbStairs(n-1) + climbStairs(n-2) + climbStairs(n-3)
    n=int(input())
    print(climbStairs(n))
    

      

  • 相关阅读:
    Linux里的2>&1究竟是什么
    表锁操作
    日志rsyslog
    计划任务at cron
    rpm包管理和源码包管理
    自建yum源(只演示nginx服务,其它都一样)
    软件包管理yum
    文件打包及压缩
    查找文件which locate find
    lsof恢复进程打开的文件
  • 原文地址:https://www.cnblogs.com/xuexidememeda/p/10842647.html
Copyright © 2011-2022 走看看