count = 1
def move(n, a, b, c): #n层数,所在塔,中介塔,目标塔
global count
if n == 1:
print('step', count,': ',a, '-->', c)
count = count + 1
else:
# N片拆解为底片和上部N-1整体,此时上部N-1整体目的是a到b,释放底片
move(n-1, a, c, b)
# 底片释放,直接a移到c
move(1, a, b, c)
# 上部N-1整体,此时目的是b到c,放到底片上成为N整体
move(n-1, b, a, c)
move(3, 'a', 'b', 'c')
Sign in to make a reply
X-ataru
count = 1
def move(n, a, b, c): #n层数,所在塔,中介塔,目标塔
global count
if n == 1:
print('step', count,': ',a, '-->', c)
count = count + 1
else:
# N片拆解为底片和上部N-1整体,此时上部N-1整体目的是a到b,释放底片
move(n-1, a, c, b)
# 底片释放,直接a移到c
move(1, a, b, c)
# 上部N-1整体,此时目的是b到c,放到底片上成为N整体
move(n-1, b, a, c)
move(3, 'a', 'b', 'c')