实验一(梵塔问题)
思想:
n为圆盘数,a代表初始位圆柱,b代表过渡位圆柱,c代表目标位圆柱。
将初始位的n-1个圆盘移动到过渡位,此时初始位为a,
上一级函数的过渡位b即为本级的目标位,
上级的目标位c为本级的过渡位
加入时间模块,计算挪盘子花费时间。
代码:
import time
def move(n,a,b,c):
if n==1:
print(a,'-->',c)
else:
move(n-1,a,c,b)
print(a,'-->',c)
move(n-1,b,a,c)
n=input('几个盘子呀?\n')
start = time.time()
move(int(n),'A','B','C')
end = time.time()
print('你刚才输入的盘子数目:'+str(n))
print ('执行时间:'+str(end-start)+'秒')
测试:
4盘:
扫描二维码关注公众号,回复:
8700659 查看本文章
结果截图:
6盘:
结果截图:
10盘:
结果截图:
14盘:
结果截图:
34盘:
结果截图:
太久啦。就不整啦。