Fibonacci sin recursión lenta: de LAMBDA exponencial a fórmula instantánea

Un ingeniero industrial del grupo implementa Fibonacci con LAMBDA recursiva (Fibonacci(n-1)+Fibonacci(n-2)), pero a partir de n=35 la fórmula tarda más de un minuto. El motivo: cada llamada genera dos sub-llamadas, creciendo exponencialmente (2^35 = ~34 mil millones de evaluaciones).

La comunidad propone dos enfoques radicalmente diferentes:

Fibonacci iterativo con APILARV + TOMAR (Héctor): construye la secuencia paso a paso, apilando cada nuevo valor calculado a partir de los dos últimos:

``
=LET(
F; LAMBDA(F; arr; n;
SI(FILAS(arr) >= n; arr;
F(F; APILARV(arr; SUMA(TOMAR(arr; -2))); n)
)
);
INDICE(F(F; {1; 1}; A1); A1)
)
`

Complejidad lineal O(n) en vez de exponencial.

Fórmula cerrada de Binet (Leo): la solución matemática directa. No necesita recursión ni iteración — calcula el resultado en una sola evaluación:

`
=LET(
n; 40;
k; 5^0,5;
(((1 + k) / 2)^n - ((1 - k) / 2)^n) / k
)
`

Donde k = √5 y la fórmula usa la proporción áurea (1+√5)/2`. Resultado instantáneo para cualquier n.

El autor confirma que la fórmula de Leo es "impecable: exacta y super rápida". Un caso que ilustra bien cómo pensar en el algoritmo (iterativo vs recursivo vs analítico) es más importante que optimizar la fórmula.

Más contenido de Excel en InflueXcel