python实现汉诺塔问题

来源:互联网 发布:腾讯微云同步盘mac版 编辑:程序博客网 时间:2024/06/04 00:45

python实现汉诺塔问题

汉诺塔(又称河内塔)问题是印度的一个古老的传说.传说中,开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆形的金片,最大的 一个在底下,其余一个比一个小,依次叠上去,寺院的僧侣依照一个古老的预言,不知疲倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作 为帮助,但每次只能搬一个,而且大的不能放在小的上面,预言说,当这些金片移动完毕后,世界就会灭亡。

代码块

#!/usr/bin/env pythonn = int(input('please input a number:'))count=1def f(n, a, b, c):    global count    if n == 1:        print('%d:\t%s --> %s' % (count,a,c))        count += 1    else:        f(n-1, a, c, b)        f(1, a, b, c)        f(n-1, b, a, c)f(n, 'A', 'B', 'C')

运行结果:
[root@yuan python]# ./hannuota.py
please input a number:3
1: A –> C
2: A –> B
3: C –> B
4: A –> C
5: B –> A
6: B –> C
7: A –> C

0 0
原创粉丝点击