viernes, 13 de septiembre de 2013

Serie de Fibonacci super simple en C#

Uno de esos programas que sin duda no pueden faltar en nuestras clases de programación es el de la serie de Fibonacci desarrollada hasta cierta cantidad de elementos, y por petición, en esta entrada les voy a mostrar como hacerla en C#.

Recordando un poco la serie de Fibonacci no es otra cosa que una serie especial de número donde el siguiente de la lista se obtiene sumando sus dos predecesores ejemplo: 1,1,2,3,5,8,13.........

En este caso nuestro programa nos preguntará hasta que término queremos desarrollarla y automáticamente nos desplegará el resultado, bien sin más rodeos les dejo el código el cual está bien comentado pero cualquier duda la pueden externar por este medio.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Fibo
{
    class Program
    {
        static void Main(string[] args)
        {
            //Programa que desarrolla la serie de Fibonacci hasta un número dado
            int a,b,n,i,aux; //declaramos las variables, aux me sirve para hacer cambios
            Console.WriteLine("¿Cuantos números ibonacci quieres?");
            n = int.Parse(Console.ReadLine()); //leemos el número de términos
            a = 0;
            b = 1; //inicializamos
            for (i = 0; i < n; i++)  //se repite para el número de veces deseado
            {
                aux = a;
                a = b; //intercambio valores
                b = aux + a; //cailculo el nuevo valor
                Console.WriteLine(a); //imprimo el valor
            }
            Console.ReadKey(); //para ue se quede esperando a que presione una tecla

        }
    }
}

Como pueden observar son pocas líneas de código y el resultado es excelente.

Bueno eso es todo por ahora y nos leemos luego!!!

10 comentarios:

  1. y con un numero de inicio y de final ingresados para q los numeros fibonaci q se presenten sean los del centro??
    porfavor alguna idea

    ResponderEliminar
    Respuestas
    1. ¿A que te refieres? No entiendo tu pregunta.

      Eliminar
  2. Hola,
    deberías sustituir "Console.WriteLine(a);" con "Console.WriteLine(aux);" porque si no para n=0 o para n=1 (Fibonacci[0] y Fibonacci[1]) no da el resultado correcto.

    ResponderEliminar
    Respuestas
    1. Totalmente cierto, la serie fibonacci dice que empieza con 0.

      Eliminar
  3. Con este código también generan la serie el valor de i en el primer "for" es la cantidad de cifras de la serie que quieren que muestre. pueden agregarle que el usuario solicite el valor de "i".

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApp1_Pruebas
    {
    class Program
    {
    static void Main(string[] args)
    {

    int a=0;
    int b=0;
    int c=0;

    for (int i = 1; i <= 20; i++)
    {
    if (i ==2) {
    b = 1;
    c = a + b;

    Console.Write(c + " ");
    }
    c = a + b;

    a = b;
    b = c;
    Console.Write(c + " ");

    }


    Console.ReadLine();

    }
    }
    }

    ResponderEliminar
  4. si funciona pero como hacer para que empiece desde el cero y no desde el uno. gracias

    ResponderEliminar