日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

斐波那契问题的递归和动态规划

發布時間:2025/4/5 编程问答 9 豆豆
生活随笔 收集整理的這篇文章主要介紹了 斐波那契问题的递归和动态规划 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:給定整數N, 返回斐波那契數列的第N項

補充問題1:給定整數N,代表臺階數,一次可以跨2個或者1個臺階,返回有多少中走法

補充問題2:假設農場中成熟的母?每年只會省1頭小母牛,并且永遠不會死。第一年農場有1只成熟的母牛,第二年開始,母牛開始生小母牛。每只小母牛3年之后成熟又可以生小母牛。給定整數N,求出N年后牛的

"""原文題 復雜度O(2^n)"""def f1(n):if n < 1:return 0if n==1 or n==2:return 1return f(n-1) + f(n-2)"""原問題 復雜度O(N)"""def f2(n):if n < 1:return 0if n==1 or n==2:return 1res = 1pre = 1tmp = 0for i in range(3,n):tmp = resres = res + prepre = tmpreturn res"""原問題O(logN)"""def maxtrixPower(m,p):res = [[0 for i in range(len(m[0]))] for j in range(len(m))]for i in range(len(res)):res[i][j] = 1tmp = mwhile p > 0:if p&1!=0: //p為奇數res = muliMatrix(res,tmp)tmp = muliMatrix(tmp,tmp)p >>= 1return resdef muliMatrix(m1,m2):res = [[0 for i in range(len(m2[0]))] for j in range(len(m1))]for i in range(len(m1)):for j in range(len(m2[0])):for k in range(len(m1[0])):res[i][j] += m1[i][k] * m2[k][j]return resdef f3(n):if n < 1:return 0if n == 1 or n == 2:return 1base = [[1,1],[1,0]]res = matrixPower(base,n-2)return res[0][0] + res[1][0]"""補充問題1"""def s1(n):if n < 1:return 0if n==1 or n==2:return nreturn s1(n-1) + s1(n-2)def s2(n):if n < 1:return 0if n == 1 or n==2:return nres = 2pre = 1tmp = 0for i in range(3,n):tmp = resres = res + prepre = tmpreturn resdef s3(n):if n < 1:return 0if n==1 or n==2:return nbase = [[1,1],[1,0]]res = matrixPower(base,n-2)return 2*res[0][0] + res[1][0]"""補充問題2""" def c1(n):if n < 1:return 0if n==1 or n==2 or n==3:return nreturn c1(n-1) + c1(n-3)def c2(n):if n < 1:return 0if n==1 or n==2 or n==3:return nres = 3pre = 2prpre = 1tmp1 = 0tmp2 = 0for i in range(4,n):tmp1 = restmp2 = preres = res + prepre = tmp1prpre = tmp2return resdef c3(n):if n < 1:return 0if n==1 or n==2 or n==3:return nbase = [[1,1,0],[0,0,1],[1,0,0]]res = matrixPower(base,n-3)return 3*res[0][0] + 2*res[1][0] + res[2][0]

?

總結

以上是生活随笔為你收集整理的斐波那契问题的递归和动态规划的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。