Think recursively
1,solve a smaller problem
2.solve a basic problem
3,solve a smaller problem
·
·
·
Towers of Hanoi:
三个柱子分别为fr, to , spare, 需要移动的圆盘数是n,
def movesteps(fr, to):
print("move from " + str(fr) + " to " + "str(to)")
def stepsTH(n, fr, to, spare):
if n == 1:
movesteps(fr, to)
else:
stepsTH(n-1, fr, spare, to) # solve a smaller problem
stepsTH(1, fr, to, spare) # solve a basic problem
stepsTH(n-1, spare, to, fr) # solve a smaller problem