這篇文章主要介紹了Python基於遞歸演算法實現的漢諾塔與Fibonacci數列,結合實例形式分析了漢諾塔與Fibonacci數列的遞歸實現技巧,需要的朋友可以參考下
本文實例講述了Python基於遞歸演算法實現的漢諾塔與Fibonacci數列。分享給大家供大家參考,具體如下:
這裡我們透過2個例子,學習python中遞歸的使用。
1. 找出Fibonacci數列中,下標為n 的數(下標從0計數)
Fibonacci數列的形式是這樣的:0,1,1,2,3,5,8,13……
① 使用while循環,python2程式碼如下:
#def fib(n):
a,b=0,1
count=0
while count<n:
a,b=b,a+b
count=count+1
print a
運行結果如下:
>>> fib(0)
>> > fib(1)
1>>> fib(2)1
>>> fib(3)
2
#>> ;> fib(4)
3
>>> fib(5)
5
② 使用遞迴(遞迴必須要有邊界條件)
,python2程式碼如下:
def fib(n): if n==0 or n==1:#递归的边界条件 return n else: return fib(n-1)+fib(n-2)
運行結果如下:
>> ;> fib(0)0>>> fib(1)1
>>> fib(2)1
#> >> fib(3)2>>> fib(4)
>>> fib(5)
52. 漢諾塔
下圖是簡化版的漢諾塔遊戲,只有4個盤子:
漢諾塔遊戲規則如下:
#python2程式碼如下:
def hanoi(a,b,c,n): if n==1:#递归结束条件 print a,'->',c else: hanoi(a,c,b,n-1) print a,'->',c hanoi(b,a,c,n-1)
運行結果:
>>> hanoi('A','B','C',1)A -> C>>> hanoi('A','B','C',2)
A -> BA -> C
B -> C
以上是Python基於遞歸演算法實現的漢諾塔與Fibonacci數列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python列表切片的基本語法是list[start:stop:step]。 1.start是包含的第一個元素索引,2.stop是排除的第一個元素索引,3.step決定元素之間的步長。切片不僅用於提取數據,還可以修改和反轉列表。

ListSoutPerformarRaysin:1)DynamicsizicsizingandFrequentInsertions/刪除,2)儲存的二聚體和3)MemoryFeliceFiceForceforseforsparsedata,butmayhaveslightperformancecostsinclentoperations。

toConvertapythonarraytoalist,usEthelist()constructororageneratorexpression.1)intimpthearraymoduleandcreateanArray.2)USELIST(ARR)或[XFORXINARR] to ConconverTittoalist,請考慮performorefformanceandmemoryfformanceandmemoryfformienceforlargedAtasetset。

choosearraysoverlistsinpythonforbetterperformanceandmemoryfliceSpecificScenarios.1)largenumericaldatasets:arraysreducememoryusage.2)績效 - 臨界雜貨:arraysoffersoffersOffersOffersOffersPoostSfoostSforsssfortasssfortaskslikeappensearch orearch.3)testessenforcety:arraysenforce:arraysenforc

在Python中,可以使用for循環、enumerate和列表推導式遍歷列表;在Java中,可以使用傳統for循環和增強for循環遍歷數組。 1.Python列表遍歷方法包括:for循環、enumerate和列表推導式。 2.Java數組遍歷方法包括:傳統for循環和增強for循環。

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。