quinta-feira, 18 de fevereiro de 2010

SICP - Exercício 1.13 - Termo geral da sequência de Fibonacci

Prove que Fib(n) é o inteiro mais próximo de φn/√5, onde φ = (1+√5)/2. Dica: defina ψ = (1-√5)/2. Use indução e a definição dos números de Fibonacci para provar que Fib(n) = (φnn)/√5.

Solução: Vamos provar por indução que Fib(n) = (φnn)/√5. Temos Fib(0)= 0 =(φ00)/√5, e Fib(1)= 1 = (φ11)/√5. Juntas, essas afirmações formam a base da indução. Suponhamos que Fib(n) = (φnn)/√5 e, mais ainda, Fib(n+1) = (φn+1n+1)/√5, para todo n não negativo.

Temos, pela definição dos números de Fibonacci:

Fib(n+2) = Fib(n+1) + Fib(n)
Fib(n+2) = (φn+1n+1)/√5 + (φnn)/√5
Fib(n+2) = ((φn+1n) - (ψn+1n))/√5
Fib(n+2) = (φn(φ+1) - ψn(ψ+1))/√5

Porém, como φ+1=φ² e ψ+1=ψ² (é verdade, faça as contas...), temos:
Fib(n+2) = (φn+2n+2)/√5.

Ou seja, provamos por indução que Fib(n)= (φnn)/√5. Mas não é esse o nosso objetivo. O nosso objetivo é mostrar que Fib(n) é o inteiro mais próximo de φn/√5. Para concluir a prova, basta notar que:
  1. Fib(n)= φn/√5 - ψn/√5
  2. n|/√5 < 0.5, para todo n não-negativo.



Nenhum comentário:

Postar um comentário