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

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

遞歸求解答

表示不能理解,為什么 move(n-1, a, c, b)表示把n-1個原盤從a移動到c

正在回答

1 回答

這個move的功能是把n個盤子從a移動到c嗎,多個盤子的時候用b作為中介,先把除了最底下的一個盤子外,全部移動到b柱子,在把最底下的盤子移動到c,接著把b的全部盤子移動回a

然后依次遞歸,

一個盤子時:直接從a移動到c

2盤子: 調用move(1,a,c,b),把最底下移到c,然后move(1,b,a,c)

3盤子: 調用move(2,a,c,b),把最地下移到c,然后move(1,b,a,c)

.....再多幾個也是一樣步驟接著也是一樣,

不會很正常,多寫幾個遞歸慢慢就行了

move(n,source,temp,target)這是意思



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

1629220008

第一段最后是移到c
2017-07-01 回復 有任何疑惑可以回復我~
#2

Ecancer 提問者 回復 1629220008

有點不清楚的想問問,代碼里面的參數是怎么賦值然后代碼是怎么運算的。輸入move(4, 'A', 'B', 'C'),是不是表示分別將'A', 'B', 'C'賦值給a,b,c,那么函數在運行過程中,賦值是怎么進行的,是不是move(n-1, b, a, c)時,a,b,c的值是'A', 'B', 'C',還是已經變化為b='A',a='B',c='C'?
2017-07-01 回復 有任何疑惑可以回復我~
#3

1629220008 回復 Ecancer 提問者

是這意思
2017-07-01 回復 有任何疑惑可以回復我~
#4

1629220008 回復 1629220008

就是函數遞歸,這層的a,b,c值是不變的,變的是下一層,把下一層先記做a2,b2,c2 如果是move(n-1,a,c,b)的話,a2=a,b2=c,c2=b 當然下一層的標識還是a=a2,b=b2,c=c2
2017-07-01 回復 有任何疑惑可以回復我~
查看1條回復

舉報

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

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

進入課程

遞歸求解答

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

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

幫助反饋 APP下載

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

公眾號

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