Secuencia de Fibonacci (Fibonacci Sequence) - Mullin Stack
Better code – Better human
Better code – Better human

Secuencia de Fibonacci (Fibonacci Sequence)

He decidido hacer este post porque en algun momento se me presento como desafio, con nervios y complejidades tu cerebro hace que el problema sea astral, cuando realmente es algo simple. Ahora lo explico en detalle con un algoritmo practico utilizando para ello JavaScript. Espero que a mas de alguno le ayude y le sea util.

La secuencia Fibonacci o tambien llamada sucesion infinita de numeros naturales es un patron de numeros generados al sumar los dos numeros anteriores, basicamente es la relacion de recurrencia que la define. Esta secuencia tiene aplicaciones en muchas areas como computacion, matematicas, juegos, etc.

fibonacci-sequence

Existen varias formas de obtener la secuencia de Fibonacci, en nuestro caso utilizaremos la forma matricial basada en el sistema lineal de ecuaciones. Asi tenemos la formula. Ok no nos preocupemos de esto.

\left.{\begin{array}{rcl}f_{{n}}&=&f_{{n}}\\f_{{n-1}}+f_{{n}}&=&f_{{n+1}}\end{array}}\right\}

Esta formula especifica que debemos conocer f_{0}=0  y  f_{1}=1, esto es OBLIGATORIO. Por tanto debemos definirlo en  nuestro codigo.

var first = 1;
var second = 0;
var next = 0;

Ahora necesitamos iterar entre el numero (n) de elementos que deseamos procesar. Aqui esta el codigo completo.

//Get Fibonacci Sequence for n
function getFibonacciSequence(n){
 var first   = 0;
 var second  = 1;
 var next; //Inicializamos valores segun formula
 for(var i = 0; i < n; i++ ){

 next = first + second; //Suma de primer y segundo numero
 first = second; //El primer numero toma el valor de segundo
 second = next; // El segundo toma el valor del siguiente
 console.log(next) ;//Imprimimos 
 
 }

}
console.log(getFibonacciSequence(10)) //probamos

Bueno si nos damos cuenta realmente no es tan complicado, recuerden que pueden resolverlo de variadas formas el punto es que debemos seguir la logica del metodo utilizado.

Por ahora eso esto amigos, no olviden comentar que para mi es sumamente importante obtener su feedback. Nos vemos en un proximo post.

Leave a comment

Your email address will not be published.