网站 建设 现状,wordpress破解管理员帐号,南昌房产网二手房,摄影的网站设计特点文章目录 [toc]问题描述Python实现 个人主页#xff1a;丷从心
系列专栏#xff1a;Python基础
学习指南#xff1a;Python学习指南 问题描述
设 a a a、 b b b、 c c c是三个塔座#xff0c;开始时#xff0c;在塔座 a a a上有一叠共 n n n个圆盘#xff0c;这些圆盘… 文章目录 [toc]问题描述Python实现 个人主页丷从心·
系列专栏Python基础
学习指南Python学习指南 问题描述
设 a a a、 b b b、 c c c是三个塔座开始时在塔座 a a a上有一叠共 n n n个圆盘这些圆盘自下而上由大到小地叠放在一起各圆盘从小到大编号为 1 1 1 2 2 2 ⋯ \cdots ⋯ n n n要求将塔座 a a a上的这一叠圆盘移到塔座 b b b上并仍按照同样顺序叠置在移动圆盘时应遵守以下移动规则 每次只能移动一个圆盘任何时刻都不允许将较大的圆盘压在较小的圆盘之上 Python实现
def hanoi(n, source, target, auxiliary):if n 0:# 将 n - 1 个盘子从源柱移动到辅助柱hanoi(n - 1, source, auxiliary, target)# 将第 n 个盘子从源柱移动到目标柱print(f将盘子 {n} 从 {source} 移动到 {target})# 将 n - 1 个盘子从辅助柱移动到目标柱hanoi(n - 1, auxiliary, target, source)n 3hanoi(n, A, B, C)将盘子 1 从 A 移动到 B
将盘子 2 从 A 移动到 C
将盘子 1 从 B 移动到 C
将盘子 3 从 A 移动到 B
将盘子 1 从 C 移动到 A
将盘子 2 从 C 移动到 B
将盘子 1 从 A 移动到 B