斐波那契數列求解

2022-09-06 07:51:07 字數 1123 閱讀 7191

斐波那契數列是一種常見的數列,其滿足下面兩個條件

f0=f1=1

fn=fn-1+fn-2

## 斐波那契數列求解

def fib1(n):

if n < 2:

return 1

return fib1(n-1) + fib1(n-2)

### 不適用遞迴

```python

def fib2(n):

f1 = f2 = 1

for i in range(1, n):

f1, f2 = f2, f1+f2

return f2

## 兩種演算法比較

使用遞迴的演算法時間o(1.618^n)

不適用遞迴的演算法o(n)

```python

import time

# 使用遞迴

def fib1(n):

if n < 2:

return 1

return fib1(n-1) + fib1(n-2)

# 不使用遞迴

def fib2(n):

f1 = f2 = 1

for i in range(1, n):

f1, f2 = f2, f1+f2

return f2

start_time = time.time()

print('fib1:', fib1(40))

end_time = time.time()

print('fib1:', end_time-start_time)

start_time = time.time()

print('fib2:', fib2(40))

end_time = time.time()

print('fib2:', end_time-start_time)

執行結果

```python

fib1: 165580141

fib1: 34.63041615486145

fib2: 165580141

fib2: 0.0

Matlab求解斐波那契數列

下面是乙個matlab的指令碼函式,用於求解菲波那切數列,而且可以判斷輸入是否符合實際情況 function fibona n 斐波那契數列,前兩項之和等於第三項 f n f n 1 f n 2 第一項和第二項分別都是1 f 1 1,f 2 1 程式主題 if n 3 disp n warning ...

10 求解斐波那契數列

寫乙個函式,輸入 n 求斐波那契 fibonacci 數列的第 n 項。斐波那契數列的定義如下 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。答案需要取模 1e9 7 1000000007 如計算初...

怎樣求解斐波那契數列

若有乙隻兔子,它每個月生乙隻小兔子,而小兔子乙個月後也開始生產。起初只有乙隻兔子,乙個月後就有兩隻兔子,兩個月後就有三隻兔子,三個月後有五隻兔子,以此類推,12 個月後有多少只兔子?實現 如下 第乙個月是1個大兔子 1 第二個月是1個大兔子,1個小兔子 2 第三個月是2個大兔子,1個小兔子 3 第四...