游客:
注册
|
登录
会员
|
搜索
|
统计
|
帮助
轩辕春秋文化论坛
»
辕门射虎
» 汉诺塔问题
兴唐传·瓦岗山异闻录(20150519版)发布
(2015-5-19)
论坛营运现状公告
(2014-8-10)
三国志12pk版下载
(2013-4-20)
《精忠报国岳飞传》制作组对外开放
(2013-1-16)
岳飞传解密剧本发布
(2011-4-12)
招募各版斑竹和网站管理技术人员
(2006-4-19)
<< 上一主题
|
下一主题 >>
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
|
开通个人空间
|
加入资讯
标题: 汉诺塔问题
周瑜
栎阳侯谏议大夫
★
组别
翰林学士
级别
征西将军
好贴
10
功绩
943
帖子
4717
编号
1808
注册
2003-11-3
家族
瓦岗寨
#1
发表于 2010-9-29 22:25
资料
主页
文集
短消息
看全部作者
汉诺塔问题
汉诺塔问题原题:
有 A、B、C 三根金刚石柱子,B、C 柱子初始为空,在柱子 A 上按大小顺序放着 n 片黄金圆盘。每一块圆盘都比上面那块更大,最下层的圆盘最大而最上层的最小。
现在需要把圆盘按大小顺序重新摆放在另一根柱子 C 上,每次移动只能把某柱子最上层的一个圆盘移动到另一个柱子的圆盘最上层,并且在任何时候所有柱子上的圆盘都满足上小下大的关系。
问需要多少次移动才能把 n 个圆盘都移动到柱子 C 上。
答案:
需要移动 2^(n-1) 次。这是一个递归的过程,需要分三步走:
1. 把上面 n-1 个圆盘从 A 柱移动到 B 柱。
2. 把最大的圆盘从 A 柱移动到 C 柱。
3. 把 B 柱的 n-1 个圆盘从 B 柱移动到 C 柱。
其中1、3两步是少一个圆盘的汉诺塔问题,可以递归求解。
现在的问题是,当移动了 x 步之后 (0 ≤ x ≤ 2^(n-1)), n 个圆盘分别位于哪一个柱子上?
[
本帖最后由 周瑜 于 2010-10-4 13:19 编辑
]
[广告]
真诚支持说岳,携手共创辉煌
周瑜
栎阳侯谏议大夫
★
组别
翰林学士
级别
征西将军
好贴
10
功绩
943
帖子
4717
编号
1808
注册
2003-11-3
家族
瓦岗寨
#2
发表于 2010-10-4 22:15
资料
主页
文集
短消息
看全部作者
赞圭子的认真态度,不过我得到的公式略有不同。
假设一共有 n 个圆盘,第 k 个圆盘在经过 x 步之后,总共搬动的次数是:
(x+2^(k-1)) \ (2^k)
把三个圆柱标注为 0,1,2,此时该圆盘所在位置为:
y=((x+2^(k-1)) \ (2^k) * (-1)^(n-k+1)) MOD 3
[
本帖最后由 周瑜 于 2010-10-4 16:39 编辑
]
[广告]
真诚支持说岳,携手共创辉煌
投票
交易
悬赏
活动
正在浏览此帖的会员 - 共
1
人在线
轩辕春秋文化论坛
轩辕史话
> 炎黄春秋
> 我思我在
> 法律探讨
> 三国史话
春秋文艺
> 古典小说
> 诗词歌赋
> 现代文艺
> 韦编三绝
> 对联雅座
> 滴翠亭
> 藏经阁
> 双七钟社
> 笑书神侠
> 辕门射虎
> 虎帐点兵
游戏人生
> 同人战棋手游
> 三国戏英杰传
> 三国鼎立
> 轩辕公会
> 三国志12
> 英雄史诗
> 运筹帷幄
> 人间五十年
> 步步为营
> 游行天下
> 游戏贴图
轩辕工作室
> 兴唐传·瓦岗山异闻录
> 豪华曹操传
> 精忠报国岳飞传
> 《精忠报国岳飞传》制作组
> 大一统演义
> 曹操传MOD作品交流
> 东吴霸王传
> 封神英杰传
> 杨家将
> 吕布传
> 三国无双战略版
> 北宋志·赵匡胤传
> 战旗春秋
> 曹操传MOD制作交流
> 金庸群侠传MOD交流
> 风华录
> 设计与修改
怡情岁月
> 影音经典
> 动漫先锋
> 绘画摄影
> 情感轩辕
> 衣食住行
> 体坛动力
> 谈股论金
参政议政
> 迎宾阁
> 鸿胪寺
> 登闻鼓
> 监造府
当前时区 GMT+8, 现在时间是 2025-8-21 19:15
京ICP备2023018092号
轩辕春秋
2003-2023 www.xycq.org.cn
Powered by
Discuz!
5.0.0
2001-2006
Comsenz Inc.
Processed in 0.008789 second(s), 9 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
轩辕春秋
-
Archiver
-
WAP
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计