• 走楼梯问题


    '''
    下楼问题。从楼上走到楼下共有h个台阶,每一步有两种走法:
    走1个台阶,走2个台阶,问有多少可走的方案。用递归思想和迭代思想编程
    '''
    
    '''
    分析:问题可以从最后一次是走1步还是两步,反向考虑
    '''
    
    def take_stairs_recursive(n):
        if n == 1:
            return 1
        elif n == 2:
            return 2
        else:
            return take_stairs_recursive(n-1)+take_stairs_recursive(n-2)
    
    '''
    其实就是斐波那契数列
    '''
    def take_stairs(n):
        if n == 1:
            return 1
        if n == 2:
            return 2
        a,b = 1,2
        result = 0
        for i in range(3,n+1):
            result = a + b
            a = b
            b = result
        return result
    
    print(take_stairs_recursive(10))
    print(take_stairs(10))
  • 相关阅读:
    日志模块
    模块介绍3
    模块介绍2
    模块介绍
    迭代器
    Python装饰器续/三元表达式/匿名函数
    Python装饰器详解
    LATEX LIAN XI
    BELLMAN 最短路算法
    B阿狸和桃子的游戏
  • 原文地址:https://www.cnblogs.com/hupeng1234/p/6680631.html
Copyright © 2020-2023  润新知