python斐波那契前20遞歸_算法python實現經典遞歸問題(漢諾塔, 斐波那契數列,階乘)...

經典遞歸

漢諾塔問題

背景故事

傳說印度某間寺院有三根柱子,上串64個金盤。寺院里的僧侶依照一個古老的預言,以上述規則移動這些盤子;預言說當這些盤子移動完畢,世界就會滅亡。這個傳說叫做梵天寺之塔問題(Tower of Brahma puzzle)。但不知道是盧卡斯自創的這個傳說,還是他受他人啟發。

若傳說屬實,僧侶們需要 (2的64次方 ? 1) 步才能完成這個任務;若他們每秒可完成一個盤子的移動,就需要5845億年才能完成。整個宇宙現在也不過137億年。

游戲規則:

1.借助B柱子將A柱子上面的圓盤移動到C柱子

2.小圓盤上不能放大圓盤

3.在三根柱子之間一次只能移動一個圓盤

源碼(python實現):

def hanoi(n, a, buffer, c):

if(n == 1):

print(a,"--->",c)

return

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

hanoi(1, a, buffer, c)

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

def main():

n = int(input("請輸入漢諾塔銅盤的個數:"))

hanoi(n, "a", "b", "c")

if __name__ == "__main__":

main()

求斐波那契數列

背景故事:

在西方,最先研究這個數列的人是比薩的列奧那多(意大利人斐波那契Leonardo Fibonacci),他描述兔子生長的數目時用上了這數列:

第一個月初有一對剛誕生的兔子

第二個月之后(第三個月初)它們可以生育

每月每對可生育的兔子會誕生下一對新兔子

兔子永不死去

假設在n月有兔子總共a對,n+1月總共有b對。在n+2月必定總共有a+b對:因為在n+2月的時候,前一月(n+1月)的b對兔子可以存留至第n+2月(在當月屬于新誕生的兔子尚不能生育)。而新生育出的兔子對數等于所有在n月就已存在的a對.

游戲規則:

費波那契數列由0和1開始,之后的費波那契系數就是由之前的兩數相加而得出

源碼(python實現):

def Fibonacci(num):

if num == 1 or num == 2:

return 1

elif num == 0:

return 0

else:

return Fibonacci(num-1) + Fibonacci(num - 2)

def main():

num = int(input("請輸入斐波那契的位數:"))

result = Fibonacci(num)

print("第%d位斐波那契數的值為%d"%(num, result))

if __name__ == "__main__":

main()

求階乘

一個正整數的階乘(factorial)是所有小于及等于該數的正整數的積,并且0的階乘為1

源碼(python實現):

def factorial(num):

if num == 1 or num == 0:

return 1

else:

return num *factorial(num-1)

def main():

num = int(input("請輸入需要求階乘的整數:"))

result = factorial(num)

print("%d的階乘為%d"%(num, result))

pass

if __name__ == "__main__":

main()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Hello This Cruel World!

第一天,已經成為了半年的OIer,仍然是個蒟蒻,希望以后能夠變強! 在OJ和博客的常用網名: TimeTraveller ->洛谷 VictoryCzt ->csdn,cnblog等 Czt Czttt czt ->OJ CrazyTea CrazyTeaMajor 游戲,QQ…

計算機系統的部件名稱作用,電腦配件與每個配件作用詳細完整的解釋

電腦各配件的具體功能和特性說起來很長,先簡單介紹一下。一臺個人臺式電腦的主要配件有:1.主板:也叫母板,是連接CPU、內存、AGP等電腦配件的最主要最基本的載體,主板的結構類型決定電腦各配件的結構和類型,…

信道效率以及信道的吞吐率

信道的效率即為信道的利用率,是指發送方在一個發送周期的時間內,有效的發送數據所需要的時間占整個發送周期的比率。 例如,發送方從開始發送數據,到收到第一個確認幀為止,稱為一個周期,設為T。發送方在這個周期內共發…

jquery兄弟標簽_js jquery獲取當前元素的兄弟級 上一個 下一個元素

var chils s.childNodes; //得到s的全部子節點var pars.parentNode; //得到s的父節點var nss.nextSbiling; //獲得s的下一個兄弟節點var pss.previousSbiling; //得到s的上一個兄弟節點var fcs.firstChild; //獲得s的第一個子節點var lcs.lastChile; //獲得s的最后一…

將本地代碼備份到Github public repository

1. 在本地代碼所在的文件夾中初始化,即打開powershell,輸入下面命令 git init 此時本地文件夾中會出現一個.git的隱藏文件夾。 2. 然后將當前的文檔commit,在本地commit之前可以先加一個.gitignore文件,忽略一些不必要的文件&…

推辭掉得不是你的工作,而是你的未來

在民營企業,年輕人無疑是主力,為什么年紀相仿,他是經理,我卻是職員?相信對此憤恨不平的大有人在!說什么人家后臺硬、或者別人嘴巴甜,恨自己生不逢時、怨自己出身平凡的居多,相反檢討…

路考計算機系統評判,科目三智能考試有效解決路考舞弊行為

科目三智能考試是指通過在考試車輛上加裝計算機、定位系統、傳感器、音視頻采集等設備實現對考試項目的自動化評判,代替原來人工評判,且記錄考試過程的音視頻資料,提供考試過程回放等相關功能。科目三自動化考試減少了人為因素對考試過程的干…

跟我一起玩Win32開發(20):瀏覽文件夾

最近忙于一些相當無聊的事情,還沒忙完,不過,博客還是要寫的,不然我頭頂上會多了幾塊磚頭。 在上一篇博文中,我們瀏覽了文件,今天我們也瀏覽一下目錄,如何? 瀏覽目錄我們同樣有兩個規…

什么材料反射熱量好_封陽臺用什么材料好,封陽臺用什么玻璃好

展開全部陽臺是建e68a8462616964757a686964616f31333433663065筑物室內的擴張,是居住者吸取新鮮空氣、曬各種衣物、放置盆栽的場地方,其裝修需要顧及實用更要注重美觀問題。封陽臺的優點1、具有保暖等的作用。陽臺封閉后,多了一層抵擋塵埃和噪…

k8s實戰之從私有倉庫拉取鏡像 - kubernetes

1、實戰目的 從私有docker倉庫拉取鏡像,部署pod。上一篇中,我們搭建了私有的鏡像倉庫,這一篇我們將與k8s結合實戰使用私有倉庫。 2、登錄docker 為了完成本次實戰,需要登錄docker,如下: 3、為k8s集群創建Se…

李開復評價馬斯克:他真正的目的是把人變成半機械人

本文來自AI新媒體量子位(QbitAI)李開復在昨日接受Quartz的采訪時說,伊隆馬斯克在用太陽能汽車和腦部醫療植入物做誘餌掩飾他真正的目的:改變從傳統電力公司獲得能源的方式,并且將人類變成半機械人。 △ 伊隆馬斯克 李開…

《那些年啊,那些事——一個程序員的奮斗史》

段伏櫪,一個瘦小,矮小,根本和“帥”這個字粘不上任何關系的普通人。名字的來源在于其多讀了幾年書的老爹,總抱著有一天要出書出名乃至于名流千古的美好理想,但可惜現實總是給予他無情的而又現實的打擊,于是…

計算機機房安全風險防控規范,中心機房安全風險分析一覽表

《中心機房安全風險分析一覽表》由會員分享,可在線閱讀,更多相關《中心機房安全風險分析一覽表(6頁珍藏版)》請在人人文庫網上搜索。1、中心機房安全風險分析一覽表組件構件丿元糸風險點物理環境 及保障物理環境場地場地選址不當場地安全措施不當自然災害…

c語言的翻譯叫什么_什么是編譯器?什么是集成開發環境?

我們平時所說的程序,是指雙擊后就可以直接運行的程序,這樣的程序被稱為可執行程序(Executable Program)。在 Windows 下,可執行程序的后綴有 .exe 和 .com(其中 .exe 比較常見);在類…

平板電腦硬件如何測試軟件,先鋒(Pioneer)G71平板電腦軟件測試評測-ZOL中關村在線...

谷歌對旗下的智能操作系統Android采取了開源的做法,所以說也就造成了它相較于蘋果iOS以及微軟Windows系統嚴重的碎片化現象,當然我們也看到了像三星 TouchWiz UX,HTC Sense UI以及小米 MIUI這些非常成熟且易用的第三方固件,只是它…

WPF 中設置Combox下拉框Text 顯示值

最近在寫一個WPF客戶端的一個小程序,其中有個小需求如下: 展示下拉列表里面有樹形結構點擊下拉子項時同時顯示父級和子級文本也就是說在DisplayMember 中有兩種顯示方式 下拉列表顯示時,顯示的是DisplayMember 的值點擊選中子項時&#xff0c…

簡單的文件上傳功能實現(java)

現在很多做后臺系統的項目大部分都會用到文件上傳這個功能,網上有很多例子,這邊是自己用SSM框架技術做的一個簡單的文件上傳功能。 在寫文件上傳功能前首先要導入相應的jar包: commons-fileupload-1.3.1-jar ;commons-io-2.2-jar …