代码如下: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @file: 汉诺塔.py @time: 2016/3/20 20:00 """ m = input(">>Please enter a maximum value of the sequence:") m = int(m)+1 def move(a,b,c,n): if n =
1.简介 古代有一座汉诺塔,塔内有3个座A.B.C,A座上有n个盘子,盘子大小不等,大的在下,小的在上,如图所示.有一个和尚想把这n个盘子从A座移到C座,但每次只能移动一个盘子,并且自移动过程中,3个座上的盘子始终保持大盘在下,小盘在上.在移动过程中可以利用B座来放盘子. 2.解决方法 解法的基本思想是递归.假设有 A.B.C 三个塔,A 塔有 块盘,目标是把这些盘全部移到 C 塔.那么先把 A 塔顶部的 块盘移动到 B 塔,再把 A 塔剩下的大盘移到 C,最后把 B 塔的 块盘移到 C.