以下是python求斐波那契數列第n項的值是多少,求高手詳釋,真想不通while迴圈裡的邏輯,求詳解?

時間 2021-06-02 07:40:34

1樓:單爾博

fib的定義:

fib(n) = fib(n-1) + fib(n-2) ①-> fib(n+1) = fib(n) + fib(n-1) ②在①式子中:

fib(n) 是 result

fib(n-1) 是 prev_resultfib(n-2) 是 next_result在②式子中:

fib(n+1) 是 result

fib(n) 是 prev_result

fib(n-1) 是 next_result......

你會驚奇地發現,

上一次運算中的result就是下一次運算中的prev_result,而上一次的prev_result就是下一次的next_result

所以 next_result = prev_resultprev_result = result

result = next_result + prev_result樓上有個小兄弟,用 recursive 寫了乙個 fib,如果當n很大,可能會引起stack overflow。

可以試著用字典寫乙個dp版本的fib,留給你耽做回家作業了!lol

2樓:

黃哥的回答已經解釋的很清楚了。我也班門弄斧提供一種求值的方法。

根據斐波那契數列的性質:

deffib(n

):ifn==

1orn==

2:return1if

n>2:

return

(fib(n

-1)+

fib(n-

2))if__name__

=='__main__'

:foriin

range(1

,10):print

(fib(i))

去掉首位還是斐波那契數的最大斐波那契數是多少?

夕雪 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,37711,75025.接下來我們考慮較大數為第26個或以後的數,也就是大於121393的數.那麼這樣的數對有這種特性 ...

除了 1 和 144,還有哪個斐波那契數是平方數

自學生 還有 7 5 1.4和3.5 2.5 1.4的14 10 正中 6 6 36和6 6 1份方格標準 1對內外圓周正中四方時間程式 公式順序時間邏輯統一時間模型。 確實沒有其他的了 這個結論最早是1964年英國數學家J.H.E.Cohn證明的證明過程沒有用到任何高深的數學知識,只用到了初等數論...

這個有關斐波那契數的求和怎麼證明?

VNVM 已經有嚴謹的證明了,我來提一下乙個有趣的思路吧。考慮一元二次方程1 x x 0,假裝你不會解這個方程。於是就想考慮一下怎麼解。很顯然,麻煩主要在於x項,如果我們讓它消失,那這個方程就會變成可愛的1 x 0,而這個方程的解顯然是x 1。可是這並不是原方程的解,怎麼辦?沒關係,我們設x 1 y...