您尚未
登入
註冊
忘記密碼
搜尋
贊助
贊助本站
數位公仔
紀念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
榮會及電子報討論
-最近版區-
-最近瀏覽-
»
程式設計
»
請問如何寫出這題河內塔
手機版
訂閱
地圖
簡體
您是第
5166
個閱讀者
可列印版
加為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.063936 second(s),query:16 Gzip disabled
本站由
瀛睿律師事務所
擔任常年法律顧問 |
免責聲明
|
本網站已依台灣網站內容分級規定處理
|
連絡我們
|
訪客留言