練習 1.13 證明fib(n)是最接近 φn/√5的整數,其中φ=(1+√5)/2.提示利用歸納法和費波拉契數列定義,證明fib(n)=(φn-γn)/√5.
斐波拉契數列定義:
| 0 n=0
fib(n) = | 1 n=1
| fib(n-1) + fib(n-2) n>1.
假設存在fib(n)=(φn-γn)/√5,
則 n=0時,(φn-γn)/√5 = 0,
n=1時,(φn-γn)/√5 = 1
所以有 γ = (1-√5)/2.
證:令 f(n) = (φn-γn),
那麼f(n-1) + f(n-2) = (φn-1-γn-1) + (φn-2-γn-2)
= (φ + 1) φn-2 - (γ + 1) γn-2
代入 φ=(1+√5)/2,γ = (1-√5)/2
= ((3+√5)/2) φn-2 - ((3-√5)/2) γn-2
= φ2 * φn-2 - γ2 * γn-2
= φn
- γn
= f(n)
綜上所述f(n)遞推關係與fib(n)相同,且當 f(n)/√5 在n=0,1時與fib值相同
所以fib(n)=(φn-γn)/√5.
fib(n)是最接近 φn/√5的整數,其中φ=(1+√5)/2.
讀書筆記(二) SICP
1.3.1 formulating abstractions with higher order procedures 讀了兩三遍才明白higher order procedure是什麼。乙個固定的procedure形成了乙個固定的pattern,這些patterns我們可以通過用abstracti...
SICP讀書筆記 3 4
讓我們舉起杯,祝福那些將他們的思想鑲嵌在重重括號之間的lisp程式設計師 祝我能夠突破層層 找到住在裡計算機的神靈!1.構造過程抽象 2.構造資料抽象 3.模組化 物件和狀態 4.元語言抽象 5.暫存器機器裡的計算練習答案 在引入賦值後,迫使我們需要關心事件發生的順序,從而引發了併發的問題 限制並行...
讀書筆記(二)
使用數學函式的時候,大多數需要包含標頭檔案,但是也有特例,例如處理整型數的函式abs函式被包含在標頭檔案中 三角函式和反三角函式,都以弧度為引數,而不是以角度為引數。更加詳細的數學函式可以參考c mathematical functions。維基百科 strcpy strcat函式會改變傳入的字串的...