Algoritmos notables: La sucesión de Fibonacci en C#
Esta sucesión de números tiene una interesante relación con la naturaleza y con tus habilidades como desarrollador 😉

Fibonacci fue un matemático italiano nacido el año 1170 y cuyo nombre real es Leonardo de Pisa.

Se dice que mientras intentaba resolver un problema de cálculo del número de hijos que tienen los conejos a lo largo del tiempo notó una sucesión interesante y era que por lo general en una granja el número de hijos de una pareja de conejos sigue una sucesión de números particular, donde la última camada es igual a la suma de las dos anteriores.

En palabra sencillas: La sucesión sería la siguiente:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

Teniendo la única consideración adicional que el primer número es 0 y el segundo 1, y luego calculando los demás a partir de la suma de los dos números anteriores a cada elemento de la serie.

La imagen de la portada de esta entrada del blog guarda una relación muy interesante con esta sucesión de números, te animo a que la investigues.

Algoritmo

Entonces imaginemos que se nos pide hacer un algoritmo en cualquier lenguaje de programación que represente esta sucesión de números.

Vamos a resolverlo utilizando el lenguaje C#

        public static void Fibonacci(int numberElements)
        {            
            int[] arreglo = new int[numberElements];
            arreglo[0] = 0;
            arreglo[1] = 1;

            for(int i = 2; i < numberElements; i++)
            {
                arreglo[i] = arreglo[i - 1] + arreglo[i - 2];
            }

            Console.WriteLine(string.Join(",",arreglo));
        }

Aquí vamos a analizar lo que estamos haciendo:

  • Primero hacemos un método o función que reciba un parámetro, este número será la cantidad de números de la sucesión de Fibonacci que se quiera mostrar.
  • Como verás, luego creamos un array con este tamaño.
  • Asigno en código duro los dos primeros elementos del array, ya que así está definida esta serie
  • Voy iterando por cada elemento de la serie, iniciando en 2 (ya que los índices 0 y 1 están ya asignados)
  • El valor del elemento actual de la serie será igual a la suma de los dos anteriores
  • Retorno el arreglo formateado con comas.

Sencillo verdad? Si lo ejecutamos en un programa de consola, y por ejemplo quiero los 20 primeros números de la serie de Fibonacci entonces obtengo lo que busco! 😉

Resultados de la ejecución, satisfactorios!

Y así es como se resuelve este algoritmo, no es muy complejo pero como siempre digo, si no tienes el hábito de resolver algoritmos y tienes que plantear una situación como esta sucesión ya sea en tu trabajo del día a día por distintos motivos, o en una entrevista técnica, no te va a salir o te tomará tiempo.

Recuerda que esta entrada es de la serie de artículos Algoritmos notables, los cuales los subo a este repo, puedes visitarlo y descubrir más algoritmos 😊

Si esta entrada te ha gustado entonces considera compartirla crack! 😊

4 comentarios en «Algoritmos notables: La sucesión de Fibonacci en C#»

  1. Hola, a mi no me funciona, yo el número de elementos a mostrar lo tengo como la variable numero por lo que he sustituido numberElements por numero y arreglo por array pero ahora tengo 17 fallos

    1. Hola Luis, pues si tienes duda puedes descargar o ver el código en mi repo de Github, el link lo encuentras al final del artículo. Quizá el problema está en cómo plasmas y ejecutas el código y no en la sintaxis ya que el código ha sido probado 🙌 Espero lo puedas solucionar, éxitos dev.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *