题解 | #用栈来求解汉诺塔问题#

用栈来求解汉诺塔问题

http://www.nowcoder.com/practice/1a2f618b3433487295657b3414f4e7c4

n = int(input())
step = 0
def move(n, fro, to):
    global step
    step += 1
    print("Move " + str(n) + " from " + fro + " to " + to)
    
def hanota(n, a, b, c):
    step = 0
    if n == 1:
        move(n, a, b)
        move(n, b, c)
    else:
        hanota(n - 1, a, b, c)
        move(n, a, b)
        hanota(n - 1, c, b, a)
        move(n, b, c)
        hanota(n - 1, a, b, c)
hanota(n, "left", "mid", "right")
print("It will move " + str(step) + " steps.")
全部评论

相关推荐

07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:16
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务