题目要求:
汉诺塔问题大家都清楚,这里不再赘述。
请补充编程模板中代码,完成如下功能:
有三个圆柱 A、B、C
,初始时 A 上有 N
个圆盘,N
由用户输入给出,最终移动到圆柱 C
上。
每次移动步骤的表达方式示例如下:[STEP 10] A->C
。其中,STEP
是步骤序号,宽度为 4 个字符,右对齐。
请编写代码,获得输入 N
后,输出汉诺塔移动的步骤。
steps = 0
def hanoi(src, des, mid, n):
global steps
if n == 1:
steps+=1
print("[STEP{:>4}] {}->{}".format(steps, s