題目 斐波那契數列。 解法二

2021-08-04 23:56:51 字數 937 閱讀 9924

程式分析:

斐波那契數列(fibonacci sequence),又稱**分割數列,指的是這樣乙個數列:0、1、1、2、3、5、8、13、21、34、……。

數學上的解法是:

f0 =0

(n=0

)f1 =1

(n=1

)fn=f

[n-1

]+f[n

-2](n

=>

2)

我是小白,大神無笑話小弟,只是想記錄下來自己的思路,根據我自己的理解嘗試一下:

deffib(n):

f(0)=0

f(1)=1

ifn>2:

foriinrange(n):

f(i+2)=f(i+1)+f(i)

print(f(i+2))

# 輸出了第10個斐波那契數列

fib(10)

執行提示錯誤:syntaxerror: can't assign to function call

接著我參考了大神們的解法,發現函式可以在內部呼叫其它的函式;呼叫自身的函式稱為遞迴函式:

deffib(n):

ifn == 1

orn == 2:

return1

returnfib(n - 1) + fib(n - 2)

# 輸出了第10個斐波那契數列

print(fib(10))

結果輸出:55
正確。

斐波那契數列解法

方法一 常規解法 def demo month 定義變數 a,b分別表示一月和二月的數目 a 0 a為第乙個數值 b 1 b為第二個數值 定義乙個計數器 i 0 while i month 列印每次的數值 print a a,b b,a b i 1 nume demo 3 方法二 函式的遞迴 def...

斐波那契數列解法

1 概念 在數學上,費波那契數列是以遞迴的方法來定義 f0 0 f1 1 fn fn 1 fn 2 n 2 用文字來說,就是費波那契數列由0和1開始,之後的費波那契係數就是由之前的兩數相加而得出。首幾個費波那契係數是 0,1,1,2,3,5,8,13,21,34,55,89,144,233 oeis...

題目9 斐波那契數列

斐波那契數列 1.原始方法 經典方法 includeusing namespace std long long fibonacci unsigned n 2.改進方法,將已經計算出的值儲存起來 下次直接使用,不用再次計算。f 0 f 1 得f 2 f 0 f 1 f 3 f 2 f 1 long l...