SICP读书笔记(二)费波拉契数最接近函数

练习 1.13 证明Fib(n)是最接近 φn/√5的整数,其中φ=(1+√5)/2.提示利用归纳法和费波拉契数列定义,证明Fib(n)=(φnn)/√5.

斐波拉契数列定义:

             |  0        n=0

Fib(n) = | 1         n=1

             |  Fib(n-1) + Fib(n-2)  n>1.

假设存在Fib(n)=(φnn)/√5,

则 n=0时,(φnn)/√5 = 0,

     n=1时,(φnn)/√5 = 1

所以有 γ = (1-√5)/2.

证:

令 f(n) = (φnn),

那么

f(n-1) + f(n-2) = (φn-1n-1) + (φn-2n-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)=(φnn)/√5.

Fib(n)是最接近 φn/√5的整数,其中φ=(1+√5)/2.

猜你喜欢

转载自www.cnblogs.com/qq1144054302/p/10591528.html