Рет қаралды 26,461
Una de las preguntas más típicas en la universidad o pruebas técnicas de JavaScript es resolver la sucesión de números de Fibonacci! 👩🏫
Normalmente la gente usa la solución recursiva... pero lo cierto es que no es la mejor en cuanto optimización.
Siempre podrías usar la memoización de los resultados previos pero, la verdad, es que es mejor usar una solución iterativa. Además demuestra que entiendes el núcleo del algoritmo.
Eso sí, aunque la solución del bucle es mejor que la de recursividad... puedes usar la fórmula de Binet para calcularlo el número todavía más rápido. Aunque no creo que nadie espere que sepas esta solución de memoria:
El código sería:
function fibonacci(n) {
return Math.round((Math.pow(1.618033988749895, n) - Math.pow(-0.6180339887498949, n)) / 2.23606797749979);
}
La explicación: artofproblemso...
▶ Disfruta de los directos en: / midudev