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

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

我不明白有三個盤子的時候

http://img1.sycdn.imooc.com//59892b5a000164a303450245.jpg

這上面是代碼,第一個地方和第二個地方的輸出我做了標記。

我在草稿紙上推算,的確是第一個盤子要從A移動到C上。但是我不明白這個代碼,第一輸出為什么會是“A ##--> C”

因為我的理解是當執行“move(3, 'A', 'B', 'C')”這行代碼時

n=3,所以if條件不成立,就會向下執行“move(n-1,a,c,b)”這行代碼,進入遞歸,

這個時候n=2,if條件還是不成立,所以還會向下執行“move(n-1,a,c,b)”這行代碼,再次進入遞歸,

這時n=1了,執行if語句,可是這個地方“move(n-1,a,c,b)”這行代碼的形參順序時變化了的,

if語句里面“print a,'##-->',c”這個c的值不應該時B嗎?

但是為什么第一行輸出的卻是“A ##--> C”

(我知道它本身是應該這樣的,但是我不理解這個代碼為什么會這樣輸出,我的理解肯定有問題,謝謝各位大神指教)

http://img1.sycdn.imooc.com//59892b5b0001e67a02470235.jpg


正在回答

3 回答

n=3 abc n=2 acb n=3abc,是這樣嗎

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

你好,我想問一下,為什么只有ABC三個盤,但是N等于4?

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

賓丶高

額,我懂了,看錯了【笑哭】
2017-08-12 回復 有任何疑惑可以回復我~

我弄到VS里面去執行了下,看了下具體過程,終于搞清楚了。。

n ? a ? b ? c

3 ? A ? B ? C

2 ? A ? C ? B

1 ? A ? B ? C

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

舉報

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

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

進入課程

我不明白有三個盤子的時候

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

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

幫助反饋 APP下載

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

公眾號

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