手動部落格搬家: 本文發表於20180618 15:53:06, 原位址
咦我那時候不應該在準備期末考試嗎
一、求解\(f(n)=af(n-1)+b\)
解: \(f(n)=af(n-1)-\frac+\frac\)
\(f(n)+\frac=a(f(n-1)+\frac)\)
同理\(f(n-1)+\frac=a(f(n-2)+\frac)\)
\(......\)
\(f(2)+\frac=a(f(1)+\frac)\)
\(f(n)=a^(f(1)+\frac)-\frac\)
二、求解\(f(n)=af(n-1)+bf(n-2)\)
特徵方程法
令\(x+y=a, xy=-b\)
\(f(n)=(x+y)f(n-1)-xyf(n-2)\)
\(f(n)-xf(n-1)=y(f(n-1)+xf(n-2))=y^(f(2)-xf(1))\)
\(f(n)-yf(n-1)=x(f(n-1)+yf(n-2))=x^(f(2)-yf(1))\)
\((x-y)f(n-1)=x^(f(2)-yf(1))-y^(f(2)-xf(1))\)
\(f(n)=\frac(f(2)-yf(1))-y^(f(2)-xf(1))}\)
以上兩種方法的本質都是構造一種函式\(g(x)=dg(x-1)\). 但是構造的方式略有不同。
發表於
2019-01-16 12:57
suncongbo 閱讀(
...)
編輯收藏
重新整理頁面
返回頂部
lambda遞迴呼叫的一般方法
普通遞迴呼叫,例如求階乘 def fact n if n 0 return 1 else return n fact n 1 被遞迴函式需要乙個固定名稱,以期在函式中引用此名稱進行遞迴。那麼,如果單純使用lambda匿名函式,應如何實現遞迴。以階乘為例,用lambda匿名函式遞迴可寫為 print ...
urllib庫新增headers的一般方法
對於請求一些 我們需要加上請求頭才可以完成網頁的抓取,不然會得到一些錯誤,無法返回抓取的網頁。下面,介紹兩種新增請求頭的方法。方法一 借助build opener和addheaders完成 import urllib.request url 注意 在urllib 中headers是元組 header...
運用動態規劃思想求解問題的一般思路。
1.將原問題分解為子問題 將原問題分解為若干個子問題,子問題和原問題形式相同或類似,只不過規模變小了。子問題都解決,原問題即解決。子問題的解一旦求出就會被儲存,所以每個子問題只需求解一次。2.確定狀態 在用動態規劃解題時,我們往往將和子問題相關的各個變數的一組取值,稱之為乙個 狀態 乙個 狀態 對應...