第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Python漢諾塔問題困惑好久。。。

Python漢諾塔問題困惑好久。。。

asdhjhg 2017-02-13 22:46:49
def?move(n,?a,?b,?c): ????if?n==1: ????????print?a,'-->',c ????????return ????else: ????????move(n-1,a,c,b) ????????print?a,'-->',c ????????move(n-1,b,a,c) move(4,?'A',?'B',?'C')本人小白,這個(gè)遞歸困惑了好久,今天自己回答一下,不知我自己的理解是否正確,請大神們指點(diǎn)?。?!The first----在向上面大神請教之后,我自己仔細(xì)研究了這個(gè)Python漢諾塔,假設(shè)為3個(gè)盤子的情況做的解析!其實(shí)每一次都是一次循環(huán),當(dāng)n=3,借助B移動(dòng)到C,直接移動(dòng)3個(gè)肯定不行,要首先執(zhí)行A柱上面的2(3-1)個(gè),要把他們移到B上,再把A最后一個(gè)大盤子移到C柱,最后把B上的2個(gè)移到C,完工,這其實(shí)類似于把大象關(guān)冰箱要幾步一樣。The second----好了,那么首先A上的2個(gè)移到B要借助C,這就是(2,A,C,B)即A借助C移到B,那么這2(3-1)個(gè)直接移動(dòng)也不行?。≡倮^續(xù)分解,這2個(gè)先移動(dòng)1個(gè),先把1個(gè)(2-1)先移動(dòng)到C,因?yàn)橛?個(gè)柱子,所以規(guī)規(guī)矩矩寫法(1,A,B,C),到這估計(jì)就會(huì)產(chǎn)生疑問,代碼不是A到C再到B,這怎么(1,A,B,C)?但是實(shí)際上,這里A,B,C角色已經(jīng)互換,這里的A還是那個(gè)A,這里的B其實(shí)就變成了代碼里的C了,這里的C變成代碼里的B了,屁屁這么多,這一步的實(shí)際操作只是A-->C,所以又有了下面printA-->C,通過這一步這1個(gè)盤子已經(jīng)在C上。The third----然后,A柱子上還有2個(gè),這時(shí)候和上面一樣,先移動(dòng)最上面的1個(gè),自己演示過的肯定知道要放到B位置,這里又要注意了,實(shí)際上這里參數(shù)又發(fā)生角色互換,這里的B已然已經(jīng)代表了''C'',所以又契合了printA-->C,這個(gè)時(shí)候還有一步,把剛剛那1個(gè)小盤子放到這一步這個(gè)盤子上面,這一步其實(shí)是(1,C,A,B),實(shí)際操作就一步,C-->B,這里已然是角色互換呼應(yīng)printA-->C。至此,第一大步已完成,2個(gè)在B上,第三大步把A最后一個(gè)大盤子移到C,printA-->C(其實(shí)就是把大象塞進(jìn)去這一步)。LAST:剩下的其實(shí)就和上面第一大步一樣,但注意的是,角色也是全部變了。綜上所述,本人總結(jié),其實(shí)所謂的A,B,C命名三個(gè)柱子,只是命個(gè)名,方便操作,但千萬不能形成慣性思維,這里的A,B,C變化多端。為了闡述這些,我做了一個(gè)圖,畫的比較凌亂!我自己看懂,不知道各位看不看懂。。。。最后請各位大神指出我的錯(cuò)誤/不足之處,本人小白,不勝感激?。?!
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 2094 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號