《Python程序設(shè)計(jì)案例教程》 課件 5.9任務(wù)2 求解漢諾塔問題_第1頁
《Python程序設(shè)計(jì)案例教程》 課件 5.9任務(wù)2 求解漢諾塔問題_第2頁
《Python程序設(shè)計(jì)案例教程》 課件 5.9任務(wù)2 求解漢諾塔問題_第3頁
《Python程序設(shè)計(jì)案例教程》 課件 5.9任務(wù)2 求解漢諾塔問題_第4頁
《Python程序設(shè)計(jì)案例教程》 課件 5.9任務(wù)2 求解漢諾塔問題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Python編程基礎(chǔ)任務(wù)2

求解漢諾塔問題

漢諾塔游戲是一款風(fēng)靡全球的益智游戲,它讓玩家們可以通過完成各種不同的挑戰(zhàn),來鍛煉自己的思維能力和解決問題的能力。該游戲是指在一座漢諾塔內(nèi),有三根柱子,編號(hào)A、B、C,柱子A自下而上、由大到小按順序放置有64個(gè)盤子。游戲的目標(biāo):把A柱子上的盤子全部移到C柱子上,并保持原有順序疊好全盤。每次只能移動(dòng)一個(gè)盤子,并且在移動(dòng)過程中三根柱子上都始終保持大盤在下、小盤在上的狀態(tài)。3任務(wù)描述本任務(wù)將帶領(lǐng)大家編寫Python程序,使用遞歸函數(shù)求解漢諾塔問題。此任務(wù)用遞歸函數(shù)求解漢諾塔問題時(shí),可以先將漢諾塔游戲抽象為數(shù)學(xué)問題。假設(shè)移動(dòng)盤子數(shù)為N。此時(shí)可分為三個(gè)子步驟來完成。步驟一:以C柱子為中介,從A柱子將1至N-1號(hào)盤子移至B柱子。步驟二:將A柱子中剩下的第N號(hào)盤子移至C柱子。步驟三:以A柱子為中介,從B柱子將1至N-I號(hào)盤子移至C柱子。4任務(wù)實(shí)施本任務(wù)可設(shè)計(jì)遞歸函數(shù)hanoi(n,a,b,c)其中n、a、b和c分別表示盤子數(shù)、源柱、中介柱和目標(biāo)柱。當(dāng)函數(shù)調(diào)用一次,盤子數(shù)減1,當(dāng)盤子數(shù)減至1時(shí),遞歸結(jié)束。5任務(wù)實(shí)施本任務(wù)可設(shè)計(jì)遞歸函數(shù)hanoi(n,a,b,c)(其中n、a、b和c分別表示盤子數(shù)、源柱、中介柱和目標(biāo)柱。)如果n為1,則將這一個(gè)盤子從a柱直接移到c柱,n=1是遞歸的臨界條件。否則執(zhí)行以下步驟:1.遞歸調(diào)用hanoi(n-1,a,c,b),將n-1個(gè)盤子借助c柱從a柱移到b柱。2.將第n號(hào)盤子從a柱移到c柱。3.遞歸調(diào)用hanoi(n-1,b,a,c),將n-1個(gè)盤子借助a柱從b柱移到c柱。6任務(wù)實(shí)施defhanoi(n,a,b,c):

if(n==1):

#直接將盤子從a移動(dòng)到c

print(a+"->"+c)returnelse:

#先將n-1個(gè)盤子從a移到b

hanoi(n-1,a,c,b)

#再將1個(gè)盤子從a移到c

print(a+"->"+c)

#最后將n-1個(gè)盤子從b移到c

hanoi(n-1,b,a,c)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論