B=[] def move(n,a,b,c): if n==1: buzhou=a+str(n)+'-->'+c+str(n) #一个圆盘需要从A到C操作步骤 B.append(buzhou) else: move(n-1,a,c,b) #将前n-1个盘子从A移动到B上 buzhou=a+str(n)+'-->'+c+str(n) #将A柱的第n个盘移到C柱操作步骤 B.append(buzhou) #向列表中添加操作步骤 move(n-1,b,a,c) #将B上的n-1个盘子移动到C上 move(3,'A','B','C') print('总共需要操作'+str(len(B))+'次,\n'+'操作过程为:',B)
当n=3的时候结果就是这样了:
总共需要操作7次, 操作过程为: ['A1-->C1', 'A2-->B2', 'C1-->B1', 'A3-->C3', 'B1-->A1', 'B2-->C2', 'A1-->C1']
Sign in to make a reply
starwind徐
当n=3的时候结果就是这样了: