不管是哪种函数语言,汉诺塔一直都是常见的案例学习,大家可能从字面上不理解,实际上就是一种益智类游戏,比如有三个柱子,其中一个柱子上有大小不等的圆盘,需要让我们圆盘的相互移动上,要保证上面圆盘小于下面,这套游戏规则就构成了汉诺塔,在python里经常被使用,下面来详细了解学习下。
问题要求:
需要输出移动圆盘的数量以及步骤
解析:
1、圆盘1号通过3号移动2号,公式为:hn(n-1,A,C,B)
2、圆盘2号通过1号移动3号,公式为:hn(n-1,B,A,C)
实现公式:
def hn(n,s_from,s_help,s_to): if n==1: print(s_from,'-->',s_to) else: hn(n-1,s_from,s_to,s_help) print(s_from,'-->',s_to) hn(n-1,s_help,s_from,s_to) n=int(input("盘子数:")) hn(n,'A','B','C')
《相关推荐:php框架》
大家可以自行带入数量到里面去计算下,当然除了汉诺塔游戏以外,我们可以还可以调用类似函数计算其他递归问题,希望可以帮助大家学习。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!