#汉诺塔问题 step=1 def move(n,a,b,c): global step if n==1: print('第%s步,将%s塔最上方的盘子移动到%s塔上'%(step,a,c)) step=step+1 else: move(n-1,a,c,b)#将初始塔a上n-1个盘子移动到借用塔b上 move(1,a,b,c)#将初始塔a上的最后一个盘子移动到最终塔c上 move(n-1,b,a,c)#将借用塔b上的n-1个盘子移动到最终塔c上 num=input('此程序能给出汉诺塔问题的解决方案,请输入要移动的盘子的总数:') num=int(num) print('移动%s个盘子共需要%s步,具体步骤如下:'%(num,2**num-1)) move(num,'A','B','C')
Sign in to make a reply
宋明明耀耀耀