Recursividad aplicada: Serie de Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21, …, la serie de Fibonacci es bastante interesante e incluso aparece en la naturaleza. Comienza con un 0, luego un 1 y a partir de ahí cada número es la suma de los dos siguientes. Eso último nos indica recursividad. Veamos como mostrar n números de la serie de Fibonacci de forma recursiva en C++.

#include
int fibonacci(int n)
{
    if (n<2)
        return n;
    else
        return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
    int num=0,res=0;
    printf("::NUMEROS DE FIBONACCI::n");
    printf("Introduce el numero de numeros: ");scanf("%i",&num);
    printf("t");
    for(int i=0;i<=num-1;i++)
    {
        res = fibonacci(i);
        printf("%i  ", res);
    }
    printf("n");
    return 0;
}

Es la primera vez que vemos un la llamada a la función dentro de un ciclo. Eso es porque la función calcula el n-ésimo número de la serie, y para mostrarlos todos tenemos que hacer un ciclo que repita la función tantas veces como sea necesario.

32 thoughts on “Recursividad aplicada: Serie de Fibonacci

  1. #include
    using namespace std;
    main()
    {
    int i,n,suma,f1,f2;
    f1=0;
    f2=1;
    cout<>n;
    for(i=1;i<=n;i++)
    {
    suma=f1+f2;
    f1=f2;
    f2=suma;
    }
    cout<<"Fibonacci es:"<<f1;
    system("pause");
    }

    Esta en c++

  2. Pueden comentar que hace la funcion cuando evalua a “n” y entra a:
    fibonacci(n-1)+fibonacci(n+2);
    Esta claro que:
    Cuando recibe 0 retorna 0 (n menor que 2)
    cuando recibe 1 retorna 1 (n menor que 2)
    cuando recibe 2 …. Que sucede apartir de aqui?
    Ayuda con sto por fa

  3. hola a todos aqui les dejo una forma mas facil de hacer la serie de fibonacci en borland C++///
    aqui esta el codigo!!!!

    #include

    void main()
    {
    int i,b1=1,b2=0,Aux,s;
    int Numero;
    cout<>Numero;
    for(i=1;i<=Numero;i++)
    {
    Aux=b2;
    cout<<""<<b2;
    b2=b1+b2;
    b1=Aux;
    }

    COPIAR Y COMPILEN EN SU C++

  4. me ayudarian a hacer la serie figonaci solo utilizando el ciclo for, por favor no se programacion y necesito mandar mi tarea

  5. si pones el int i=0 debajo del main y luego un system(“pause”) para que puedas ver el resultado os será más facil!

  6. Question 3
    Puntos: 5
    UN NÚMERO PALINDRÓMICO ES NUMERO NATURAL DE MÁS DE UN DÍGITO QUE ES SIMÉTRICO (SE LEE IGUAL DE DERECHA A IZQUIERDA QUE DE IZQUIERDA A DERECHA).

    EJEMPLO: 11,22,121,131

    DISEÑE UN ALGORITMO QUE LEA LA CANTIDAD DE NÚMEROS PALÍNDROMO A CALCULAR (N), E IMPRIMA LOS N PRIMEROS NÚMEROS PALÍNDROMOS

  7. y si quiero quiero teclear la condicion de hasta qe numero del fibonacci quiero llegar, ponerle limite (50 por ejemplo y qe solo me imprima los menores a 50)???

  8. #include
    #include

    int f(int o)
    {int s,a=0,b=1,c=1;
    while(c<=o)
    {s=a+b;
    a=b;
    b=s;
    c++;}
    return s;}

    int main()
    {int s,o;
    cout<>o;
    s=f(o);
    cout<<"La serie va en :"<<s<<endl;
    getch();

    }

  9. Muchas gracias por el ejemplo mi fue de mucha utilidad en mi tarea y mejor aun aplicando recursividad algo que intento practicar mas.

  10. ¡Ayuda! Una aplicacion que permita almacenar en un vector los 15 primeros numeros de la serie de lucas.. por favor

  11. hola me dejaron una tarea y no logro entender dice asi obtener f(1)f(2)f(3)
    f(4)f(5)sif(n)se define recursivamente por f(0)=3 para n=0,1,2…
    a)f(n+1)=-2f(n)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s