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

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

求大神賜教,過程和符號不懂

def?move(n,?a,?b,?c):
????if?n?==1:
????????print?a,?'-->',?c
????????return
????move(n-1,?a,?c,?b)
????print?a,?'-->',?c
????move(n-1,?b,?a,?c)
move(4,?'A',?'B',?'C')


正在回答

1 回答

????關于漢諾塔的問題,游戲規則是有abc三根柱子,在a柱子上套著n個盤子,盤子自上而下越來越大,我們的任務是把盤子全部轉移到c盤子上去,但是每次只能移動一個盤子,只有把盤子套在某個柱子上以后才能動其他盤子,而且套盤子時不能讓大盤子蓋在小盤子上。

????那么我們可以把這個問題簡化成這樣,既然要轉移n個盤子,

我們可以先把n-1個盤子從a放到b上,move(n-1,a,c,b),

然后把一個盤子從a拿到c ,a -->c,

然后再把那n-1個盤子從b拿到c move(n-1,b,a,c)


這樣推理下去的盡頭是什么呢,就是僅有一個盤子的時候,

只要,然后把一個盤子從a拿到c ,a -->c,

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

慕粉2346168995 提問者

哪里bac.abc有什么不同嗎?
2017-04-08 回復 有任何疑惑可以回復我~
#2

Bluestar628 回復 慕粉2346168995 提問者

move函數的后面三個參數可以這樣理解,如果是move(n,a,b,c)就是通過b柱子中轉把n個盤子從a移動到c上。那么move(n,b,a,c)的意思就是把n個盤子通過a的中轉從b轉移到c上
2017-04-20 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

求大神賜教,過程和符號不懂

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

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

幫助反饋 APP下載

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

公眾號

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