亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

漢諾塔的問題應該怎么思考?

感覺能想出漢諾塔問題的代碼的人特別厲害,讓我寫 我根本不知道應該從哪里思考!有沒有大神會這個問題的,能不能給我講講怎么做出這個問題的,

正在回答

3 回答

def move(n, a, b, c):

? ? n1 = a + '-->' + c

? ? if n == 1:

? ? ? ? return n1

? ? return move(n-1,a,c,b) + n1+ move(n-1,b,a,c)

最后一步return就是把a,b,c位置互調,用遞歸,調用n-1移動的方式,最后像夾心餅干一樣返回值...


0 回復 有任何疑惑可以回復我~

遇到這種問題你可以從n=1開始,然后把每一步驟都寫出來。https://img1.sycdn.imooc.com//5b7a6ee200014d9720141080.jpg

2 回復 有任何疑惑可以回復我~
#1

巴拉巴拉巴拉01

請問BC柱子調換是為什么?不懂哎
2018-08-22 回復 有任何疑惑可以回復我~

f(n,a,b,c): 先把a上面的n-1個移到b,即f(n-1,a,c,b);把a最后一個移到c;再把b上的n-1個移到c,即f(n-1,b,a,c)。

要移動a最下面的,上面n-1個要拿走,且c上要是空的。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758390    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

漢諾塔的問題應該怎么思考?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號