您尚未
登入
注册
忘记密码
搜寻
赞助
赞助本站
数位公仔
纪念T恤
纪念马克杯
广告
刊登广告
广告价格
线上申请刊登
用雅币刊登
免费刊登
目前客户
简讯
简讯说明
购买金币
发送简讯
预约简讯
发送记录
好友通讯
罐头简讯
论命
数位论命馆
免费排盘工具
葫芦墩 优生造命
葫芦墩 八字命书
影音论命(葫芦墩)
影音占卜(葫芦墩)
购买金币
星座分析
孔明神数
周公解梦
星侨线上论命
娱乐
影 像 行 脚
数 位 造 型
数 位 画 廊
心 情 日 记
公 益 彩 券
送生日蛋糕
俄罗斯方块
四 川 省
猜 数 字
比 大 小
泡 泡 龙
许 愿 池
万 年 历
经 期 计 算
体 重 测 量
音 乐 点 播
卫 星 地 图
时间戳字幕
男女聊天室
求助
论坛守则
会员等级
会员权限
语法教学
常见问题
最新活动
打工赚雅币
首页
新版首页(全页)
传统首页(全页)
新版首页(选单)
传统首页(选单)
MyChat 数位男女
命理风水
15
星侨五术软体
4
葫芦墩命理网
5
命理问答
9
四柱八字
1
紫微斗数
1
姓名学
手面相
易经占卜
1
风水研讨
1
择日&三式
1
西洋占星
无视论塔罗牌
10
修行&武术
1
中医研讨
五术哈啦
1
电脑资讯
13
硬体讨论
5
超频 & 开箱
3
数位生活
2
PDA 讨论
手机讨论区
软体推荐
2
软体讨论
6
Apple 讨论
1
Unix-like
网路&防毒
2
程式设计
网站架设
4
电脑教学资源
生活休闲
14
休闲哈啦
7
感情世界
2
上班一族
5
国考&法律
7
生活医学
4
运动体育
1
单车讨论
1
钓鱼讨论
6
旅游讨论
4
天文观星
3
摄影分享
8
图片分享
4
数位影视
2
笑话集锦
3
兴趣嗜好
13
文学散文
7
绘图艺术
1
布袋戏
3
动漫画讨论
3
美食天地
6
理财专区
心理测验
1
汽、机车
3
宠物园地
模型&手工艺
4
花卉园艺
魔术方块
独轮车专区
电玩游戏
13
游戏欢乐包
4
CS讨论
8
Steam
3
MineCraft
2
东方Project
英雄联盟LOL
1
单机游戏
2
WebGame
3
线上游戏1
6
线上游戏2
5
电视游乐器
1
掌上型游戏
2
模拟器游戏
1
工商服务
6
虚拟城市
7
好康分享
新品贩售
二手拍卖
1
租屋&找屋
工商建议区
1
站务专区
10
最新活动
活动成果
数位造型
心情日记
个人图库
新人报到练习
论坛问题建议
1
荣会及电子报讨论
-最近版区-
-最近浏览-
»
程式设计
»
请问如何写出这题河内塔
手机版
订阅
地图
繁体
您是第
5162
个阅读者
可列印版
加为IE收藏
收藏主题
上一主题
|
下一主题
蔡钧鸿
级别:
路人甲
x0
x0
分享:
▼
x
0
[C/C++][求助] 请问如何写出这题河内塔
题目:
初始状态下有三根柱子 ,分别为 ABC 三支 ,当中 A 柱摆上将要搬移的碟子 ,碟子由上到下依小到大叠好 ,分别编上号码 1,2,3,4.... ,需将所有碟子全部搬移到 C 柱 ,规则为大碟不得摆在小碟上 ,也就是数字小者必须在前方
要求:
Input : 有几个环,由上而下为 1,2,.....,N
Output: 每一步的动作的结果(输出的要求是列出每一步骤后 ,各个柱子的情形 ,例:第一步由 A 搬 1 号碟到 C ,输出便是: A(2,3)B()C(1))
三根柱子由左至右为 A,B,C
example:
Input : 2 (<-- 此数字为测试资料笔数)
3 (<-- 第一组测试数 ..
访客只能看到部份内容,免费
加入会员
或由脸书
Google
可以看到全部内容
x
0
[楼 主]
From:台湾中华电信股份有限公司 |
Posted:
2011-09-29 23:31 |
ebolaman
级别:
副版主
版区:
程式设计
x38
x458
分享:
▲
参考一下,这是我觉得最简单可以理解的
http://tw.knowledge.yahoo.com/quest...d=1608110103848
试试看 高度(设为 h) h = 3, h = 4, h = 5..... 的河内塔你会发现一个规律
就是 h 为奇数时,第一个盘子都一定会先放到最右边 (假设一开始全部在左边)
h 是偶数时,第一个盘子一定会先放到中间
那么,你就可以发现其中的规律,你试着想想看,h = 3 的河内塔将 "最小的盘子" 移到最右边时
和 h = 4 河内塔将 "最上面的两个小盘子" 依照规律移动到 最右边时,把这两个小盘子 "群组化" 当成是一个小盘子
就会发现,h = 4 移动第三次与 h = 3 移动一次 的感觉是非常像的,这就是上面知识+提到 的想法
当河内塔其中一个杆子是空的时候,要移动比较小的那堆时,可以想像成,整个河内塔要移动的只有 那几个小盘子 (因为不管怎么移动这几个小盘子,都不会违反 小的要在大的上面)
例如,h = 4 时候,如上图下面的情况,要把最右边两个小盘子准备移动到 第二大的盘子(下一步骤 : 移动到中间杆子)
知道这个规律后,就能用 递回 (recursive) 或是一般的 回圈 来跑程式了
[ 此文章被ebolaman在2011-10-03 22:01重新编辑 ]
My BOINC stats :
x
0
[1 楼]
From:台湾教育部 |
Posted:
2011-10-03 21:40 |
MyChat 数位男女
»
程式设计
Powered by
PHPWind
v1.3.6
Copyright © 2003-04
PHPWind
Processed in 0.096134 second(s),query:16 Gzip disabled
本站由
瀛睿律师事务所
担任常年法律顾问 |
免责声明
|
本网站已依台湾网站内容分级规定处理
|
连络我们
|
访客留言