题目:汉诺塔问题
描述
古代有一个梵塔,塔内有三个座A、B、C,A座上有n个盘子,盘子大小不等,大的在下,小的在上。三个座都可以用来放盘子。有一个和尚想把这n个盘子从A座移到C座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。输入盘子数目n,要求输出移动的步骤。
输入
盘子数目n ( n < 8)
输出
移动方案
样例输入
3
样例输出
A->C
A->B
C->B
A->C
B->A
B->C
A->C
AC代码
def Hanoi(n, src,mid,dest):
if( n == 1) :
print(src + "->" + dest)
return
Hanoi(n-1,src,dest,mid)
print(src + "->" + dest)
Hanoi(n-1,mid,src,dest)
return
n = int(input())
Hanoi(n, 'A', 'B', 'C')