久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

用python寫斐波那契數(shù)列

斐波那契數(shù)列是一種數(shù)學(xué)上的數(shù)列,它的第一項(xiàng)和第二項(xiàng)都是1,從第三項(xiàng)開(kāi)始,每一項(xiàng)都是前兩項(xiàng)的和。斐波那契數(shù)列的前幾項(xiàng)如下:

1, 1, 2, 3, 5, 8, 13, 21, …

用python寫斐波那契數(shù)列有多種方法,其中一種是使用遞歸函數(shù)。遞歸函數(shù)是一種函數(shù),它在自己的函數(shù)體內(nèi)調(diào)用自己,以實(shí)現(xiàn)一種重復(fù)或分治的思想。遞歸函數(shù)通常有兩個(gè)要素:一個(gè)基準(zhǔn)情況(base case),表示遞歸的終止條件;一個(gè)遞歸情況(recursive case),表示遞歸的過(guò)程和規(guī)律。

例如,下面是一個(gè)計(jì)算斐波那契數(shù)列第n項(xiàng)的遞歸函數(shù):

def fibonacci(n):
    # function body
    if n == 1 or n == 2: # base case: if n is 1 or 2, return 1
        return 1
    else: # recursive case: if n is larger than 2, return the sum of the previous two terms
        return fibonacci(n-1) + fibonacci(n-2)

這個(gè)函數(shù)接受一個(gè)正整數(shù)n作為參數(shù),并返回斐波那契數(shù)列的第n項(xiàng)。它的基準(zhǔn)情況是當(dāng)n等于1或2時(shí),返回1;它的遞歸情況是當(dāng)n大于2時(shí),返回前兩項(xiàng)之和。這樣,每次調(diào)用函數(shù)時(shí),都會(huì)把問(wèn)題規(guī)??s小一點(diǎn),直到達(dá)到基準(zhǔn)情況為止。

例如,下面是調(diào)用上面定義好的fibonacci函數(shù),并打印出結(jié)果:

x = 10 # define a variable x with value 10
y = fibonacci(x) # call the fibonacci function with x as argument and assign the result to y
print(y) # print out y which is 55

這就是一個(gè)簡(jiǎn)單的斐波那契數(shù)列的遞歸函數(shù)。當(dāng)然,還有很多其他方法和優(yōu)化技巧可以用來(lái)寫斐波那契數(shù)列,比如使用循環(huán)、列表、生成器、動(dòng)態(tài)規(guī)劃等等。如果你對(duì)這些感興趣,可以?自己?寫一下?。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » 用python寫斐波那契數(shù)列

贊 (0) 打賞

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞