SICP读书笔记(二)费波拉契数最接近函数
练习 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.