汉诺塔问题(三阶梵塔问题)

 题目描述:有三个棍子。一个棍子上有N个盘子,另外两个没有盘子。盘子有编号。初始状态那棍子上盘子编号从上往下1,2,3....n

求解状态:全部移动到另外两个棍子中的一个棍子上。(任意一个都行)

移动要求:编号小的盘子下面可以有编号大的盘子。反之不允许。

要求:

输入:最大盘子高度N

输出:每次移动的盘子号

比如两个盘子

输入:2

输出:1  2   1

 

研究了一个特解。两个的解值是121  三个的解值是1213121这个是可以递归的。所以后来发现4个盘子是121312141213121

写开一点

两个的: 1     2      1

三个的:1  2   1        3           1     2   1

四个的:1  2   1       3     1  2  1      4        1  2   1       3     1  2  1 

今年ACM的一个题目。要编程。我看也不用去搞汉诺塔了模型抽象出来了研究下数列就OK了嘎嘎。都是轴对称数列。每个轴对称数列中又是轴对称数列。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值