1、首先,函數(shù)中有兩個(gè)情況:(1)如只有一個(gè)盤子,則不需要利用B座,直接將盤子從A移動(dòng)到C,在移動(dòng)過程中可以不利用B座,(2)將最大盤子上面的n-1個(gè)盤子通過C為輔助盤移到B,B上的n-1個(gè)盤子由A為輔助盤移動(dòng)C。(n-1個(gè)盤子的移動(dòng)澤根據(jù)遞歸來實(shí)現(xiàn))漢諾塔問題的遞歸終止條件即是A座上只有一個(gè)盤子。
在成都做網(wǎng)站、網(wǎng)站建設(shè)過程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
2、其次,輸出移動(dòng)次數(shù)時(shí),要求的寬度為4個(gè)字符,右對(duì)齊用{:4}去實(shí)現(xiàn)。
遞歸方法有些時(shí)候是不太好理解,不過遞歸的意義就是把解決問題n變成解決n-1的問題,最終變成解決1個(gè)問題。
假設(shè)有n個(gè)盤子,從上到下依次編號(hào),最下面的盤子編號(hào)是大寫的N。托盤分別是x,y,z。要把所有盤子從x移動(dòng)到z。
前面幾行代碼就不解釋了,很容易理解。
第五行,如果只有一個(gè)盤子,就直接從x移動(dòng)到z。
第七行,如果不只一個(gè)盤子,先把上面n-1個(gè)盤子從x移動(dòng)到y(tǒng)。
第八行,再把N號(hào)盤子從x移動(dòng)到z。
第九行,再把剛才那n-1個(gè)盤子從y移動(dòng)到z。
至于那n-1個(gè)盤子是怎么移動(dòng)的,再次調(diào)用這個(gè)函數(shù),把問題變成n-2個(gè)盤子加1個(gè)盤子的問題。
仔細(xì)看一下 5-7行調(diào)用 move 時(shí)候的參數(shù)順序, 不是你說的那樣沒有變:
#5 的含義是將 A 上的前 n-1 個(gè)移動(dòng)到 B
#6 : 將 A 最后一個(gè)移動(dòng)到 C
#7: 將 B 上的 n-1 (即#5 從 A 移動(dòng)過來的 n-1) 個(gè)移動(dòng)到 C