使用回溯算法处理3柱汉诺塔问题(Python)

[复制链接]
查看11 | 回复0 | 2022-6-1 23:03:52 | 显示全部楼层 |阅读模式
什么是汉诺塔

def hannuota(n,A,B,C):
#定义汉诺塔函数,参数n是圆盘数,A、B、C是3根柱 if n==1:
#判断圆盘数,如果等于1,递归条件
print(A,'-->',C,' ',n)
# 直接将A柱上的圆盘移动到C柱上 else:
#否则,进行递归移动
hannuota(n-1,A,C,B)
#递归将A柱最上方的n-1个盘子落在B柱
print(A,'-->',C,' ',n) # 输出将A柱上的圆盘移动到C柱上,也就是将A柱的最小面盘子落在C柱
hannuota(n-1,B,A,C)
#递归将B柱上的n-1个盘子,落在C柱hannuota(3,'A','B','C')
#调用函数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行