.py文件的写法
Topic source因为汉诺塔的初始堆叠方式就是按照“大在下小在上”的方式堆叠的。当使用递归的思维去关联移动n个盘子和移动n-1个盘子间的关系时,你会发现,通过1:将在A柱上较小的n-1个盘子借助C柱移动到柱
因为汉诺塔的初始堆叠方式就是按照“大在下小在上”的方式堆叠的。当使用递归的思维去关联移动n个盘子和移动n-1个盘子间的关系时,你会发现,通过【1:将在A柱上较小的n-1个盘子借助C柱移动到B柱,2:将最大的第n个盘子由A柱移动到C柱,3:将B柱上的n-1个盘子借助A柱移动到C柱】这三个步骤就可以将n个盘子从A柱移动到C柱,而以上的n和n-1的关系与判断盘子大小是没有半毛钱关系的。事实上这个程序只是给出标准的移动步骤,只要初始情况下盘子是按照大下小上的顺序放,最后结果就肯定没错。如果盘子初始摆放就是错的,那么最后的结果也肯定是错的。
- 1
圆圆oO圆圆圆ooO
#-*- coding: utf-8 -*-
def move(n,a,b,c):
if n == 1:
print(a,'-->',c)
else:
move(n-1,a,c,b)
move(1,a,b,c)
move(n-1,b,a,c)
a = 'A'
b = 'B'
c = 'C'
m = int(input('请输入圆盘个数:'))
move(m,a,b,c)