您需要 登录 才可以下载或查看,没有账号?立即注册
def hanoi(n, x, y, z): global count if n == 1: print(x, '-->', z) count += 1 else: hanoi(n - 1, x, z, y) # 将n-1个圆盘借助z,移到y上 print(x, '-->', z) # 将最底下的一个个圆盘移到z上 count += 1 hanoi(n - 1, y, x, z) # 将y上的n-1个圆盘移到z上 count = 0 n = int(input('请输入汉诺塔的层数:')) hanoi(n, 'x', 'y', 'z') print('移动的总次数为:', count)
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)
GMT+8, 2025-1-18 13:14
Powered by Discuz! X3.4
© 2001-2023 Discuz! Team.