3 動態規劃 計算斐波那契數列第n項

2022-05-07 02:27:10 字數 589 閱讀 8338

# 遞迴是從後向前遞迴呼叫,相當於是倒算

# 而動態規劃是從前向後計算,每一步計算利用的都是前面已經計算完成的值,不存在呼叫自身的問題

# 動態規劃突破了遞迴的層數限制

import time

def fibonacci_v3(n, record):

for i in range(1, n+1):

if i == 1:

record[0] = 0

elif i == 2:

record[1] = 1

else:

if record[i-1] > 0:

pass

else:

record[i-1] = record[i-2] + record[i-3]

return record[n-1]

if __name__ == '__main__':

start = time.time()

print(fibonacci_v3(100000, [0] * 100000))

end = time.time()

print(f'用時秒')

動態規劃 斐波那契數列

問 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 斐波那契數列簡單介紹 我的解法 注 從fibonacci n 1 fibonacci n 2 明顯看出使用的是遞迴,此題用遞迴兩三行 即可搞定。但是,若出題者準備著乙個超大的n,那麼很有...

斐波那契數列第n項

1 斐波那契數列第n項 在斐波那契數列中,fib0 0,fib1 1,fibn fibn 1 fibn 2 n 1 給定整數n,求fibn mod10000。輸入格式 輸入包含多組測試用例。每個測試用例佔一行,包含乙個整數n。當輸入用例n 1時,表示輸入終止,且該用例無需處理。輸出格式 每個測試用例...

python斐波那契數列動態規劃

斐波那契類似於1 1 2 3 5 8這樣的數列,當前項等於前兩項之和。根據這個規律就可以用遞迴來做,可是當數字很大的時候,遞迴耗時很長,因此可以採用動態規劃來做。動態規劃 deffeibonacci1 n array 0 1 while len array n 1 array 2 return ar...