首页 > 其他 > 详细

走楼梯问题

时间:2017-04-08 10:15:14      阅读:271      评论:0      收藏:0      [点我收藏+]
‘‘‘
下楼问题。从楼上走到楼下共有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))

 

走楼梯问题

原文:http://www.cnblogs.com/hupeng1234/p/6680631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!