SICP讀書筆記(二)費波拉契數最接近函式

2022-08-26 00:33:14 字數 694 閱讀 6363

練習 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函式會改變傳入的字串的...