汉诺塔问题

我们需要解决的问题正是  Hanoi (a,b,c,n)   //上文中的状态0

1、把A上的n-1个移动到B:   Hanoi (a,c,b,n-1); // 操作结束为状态1

2、把A上的大盘子移动到C move(a,c)

3、把B上的n-1移动到A     Hanoi (b,c,a,n-1);  //操作结束位状态2(和状态1相比只是规模变小)

def mov(self,n,a,b,c):
        if n == 1:
            self.result.append('from %s to %s'%(a,c))
        else:
            self.mov(n-1, a, c, b)
            self.mov(1, a, b, c)
            self.mov(n-1, b, a, c)
    def towerOfHanoi(self, n):
        self.result = []
        # write your code here
        a = 'A'
        b = 'B'
        c = 'C'
        self.mov(n, a, b, c)
        return self.result
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 高级钳工应知鉴定题库(858题) ***单选题*** 1. 000003难易程度:较难知识范围:相关4 01答案:...
    开源时代阅读 5,973评论 1 9
  • 汉诺塔是指这个: 目标是要把所有的盘子从最左边(柱子A)移动到最右边(柱子C),条件是 1)每次只能移动一个盘子 ...
    mouse33333阅读 2,905评论 7 8
  • 2018-02-06 星期二 天气晴 文#唯西 “我的缺点有很多吗?” “多,像星星一样多。” ...
    一个时鹿阅读 630评论 4 2
  • 2017丁酉中秋组诗五首 章君 章君(诗人、作家、教师):原名张军,生于宁夏银川,从小喜爱写作,中文系毕业。初二时...
    诗人章君阅读 257评论 0 0
  • 运城职业技术学院 杨鹏程 放过自己 街道上灯光五彩, 掺合着各种虚伪和奸诈。 你说那是天堂, 你享受别人羡慕的眼光...
    月上弦_46eb阅读 143评论 0 6