Necesitas usar la ecuación básica de la secuencia de Fibonacci.
[matemáticas] F (n) = F (n – 1) + F (n – 2) [/ matemáticas]
[matemáticas] F (n – 1) = F (n – 1) [/ matemáticas]
confundido .. por qué usar un hecho obvio de que [matemáticas] F (n-1) = F (n-1) [/ matemáticas], bueno, pronto lo verás.
- ¿Cuántos algoritmos diferentes existen para resolver un sistema de ecuaciones?
- ¿Los matemáticos también estudian algoritmos y estructuras de datos?
- ¿Qué temas matemáticos debería dominar para aprender temas de informática como estructuras de datos, análisis y diseño de algoritmos, etc.?
- ¿Cuál es el mejor algoritmo para medir la similitud de caras?
- Algoritmos: ¿Cómo calculo (nCr)% p donde n <= 10 ^ 18 yr <= 10 ^ 5 en C ++?
[matemáticas] \ begin {bmatrix} F (n) \\ F (n-1) \ end {bmatrix} = \ begin {bmatrix} 1 & 1 \\ 1 & 0 \ end {bmatrix} \ begin {bmatrix} F (n-1 ) \\ F (n-2) \ end {bmatrix} [/ math]
Esto parece correcto, correcto. Pero si representamos [matemática] A (n) = [/ matemática] [matemática] \ begin {bmatrix} F (n) \\ F (n-1) \ end {bmatrix} [/ math], entonces podemos ver que [matemáticas] A (n) = C * A (n – 1) [/ matemáticas]
que ahora es una recurrencia simple en la que cada término puede ser encontrado por:
[matemáticas] A (1) = C * A (0) \; base \; case [/ math]
[matemáticas] A (2) = C * A (1) = C * (C * A (0)) = C ^ 2 * A (0) [/ matemáticas], o
[matemáticas] A (n) = C ^ n * A (0) [/ matemáticas]
la enésima potencia de la matriz se puede encontrar utilizando la exponenciación O (logN)
Esto se puede generalizar a [matemáticas] F (n) = aF (n – 1) + bF (n-2) + c [/ matemáticas]
use 2 ecuaciones auxiliares, [matemáticas] F (n-1) = F (n-1) \; y\; c = c [/ matemáticas]
Formando la ecuación, [matemáticas] \ begin {bmatrix} F (n) \\ F (n-1) \\ c \ end {bmatrix} = \ begin {bmatrix} a & b & c \\ 1 & 0 & 0 \\ 0 & 0 & 1 \ end {bmatrix} \ begin {bmatrix} F (n-1) \\ F (n-2) \\ c \ end {bmatrix} [/ math]
Creo que entiendes el punto.