您的位置:首页 > 编程语言 > Python开发

python实现汉诺塔问题

2016-06-07 19:51 267 查看

python实现汉诺塔问题

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

代码块

#!/usr/bin/env python
n = int(input('please input a number:'))
count=1
def 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: