Serie de Fibonacci en C# (Consola)

La serie de fibonacci es una sucesión infinita de números enteros que se van obteniendo al sumar los dos números anteriores, empezando de 0 y 1. Así, los primeros valores de la serie de fibonacci son 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55...

El código para calcular y mostrar esta serie es bastante simple, pero para poder desarrollarlo es necesario entender el problema.

Debido a que para calcular los valores de la serie de fibonacci es necesario conocer los dos valores anteriores, esta serie empieza a calcularse a partir del tercer valor, siendo los dos primeros valores usados para ello 0 y 1. Estos valores se deben inicializar en dos variables auxiliares, llamémoslas a y b. En una variable c, calcularemos el valor actual de la serie de fibonacci, y su valor se obtendra de sumar los dos valores anteriores de la serie, en este caso, a y b.

El siguiente código calcula y muestra en pantalla los primeros 'n' valores de la serie de fibonacci, siendo n un valor que se ingresa por teclado.


static void Main(string[] args)
        {
            int n; //Número de elementos de la serie de FIBONACCI
            string serieF; //Cadena donde se almacena la serie
            Console.WriteLine("SERIE DE FIBONACCI\n\n");
            Console.Write("No. de valores a mostrar (debe ser mayor a 2) : ");
            n = Convert.ToInt32(Console.ReadLine());
            MostrarFibonacci(n, out serieF);            
            Console.WriteLine(serieF);
            Console.ReadKey();
        }

        private static void MostrarFibonacci(int n, out string serieF)
        {            
            double a = 0, b = 1, c;     //variables auxiliares donde se calculan los valores de la serie
            serieF = a + "\t" + b + "\t"; //Los dos primeros valores no se calculan, por lo que se almacenan
            for (int i = 2; i < n; i++)   //ciclo que controla el número de elementos a calcular, empezando desde 2
            {
                c = a + b;                //calculamos sumando los dos valores anteriores de la serie
                a = b;                    //sustituimos los valores de las variables auxiliares
                b = c;
                serieF += c + "\t";       //almacenamos en la cadena el valor actual calculado
            }
        }

El código del programa en .Net lo puedes descargar de aquí.

No hay comentarios:

Publicar un comentario