Serie de Fibonacci Utilizando Recursividad

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a crear un programa en C para imprimir la serie de Fibonacci utilizando recursividad. Una serie de Fibonacci se define como una serie en la que cada número es la suma de los dos números anteriores, siendo 1, 1 los primeros dos elementos de la serie.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FunctionsGroup -.-> c/recursion("Recursion") c/FileHandlingGroup -.-> c/create_files("Create Files") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/function_declaration -.-> lab-123248{{"Serie de Fibonacci Utilizando Recursividad"}} c/recursion -.-> lab-123248{{"Serie de Fibonacci Utilizando Recursividad"}} c/create_files -.-> lab-123248{{"Serie de Fibonacci Utilizando Recursividad"}} c/user_input -.-> lab-123248{{"Serie de Fibonacci Utilizando Recursividad"}} c/output -.-> lab-123248{{"Serie de Fibonacci Utilizando Recursividad"}} end

Crea un nuevo archivo C

Crea un nuevo archivo C llamado main.c en el directorio ~/project/.

Incluye las bibliotecas necesarias

Incluye la biblioteca estándar de entrada/salida necesaria stdio.h.

#include<stdio.h>

Define la función printFibo

Define una función llamada printFibo con un parámetro aj. Se utiliza para imprimir la serie de Fibonacci.

void printFibo(int aj)
{
    static long int first = 0, second = 1, sum;
    if(aj > 1)
    {
        sum = first + second;
        first = second;
        second = sum;
        printf("%ld ", sum);
        printFibo(aj-1);    // llamada recursiva
    }
    else
    {
        // después de los elementos, para salto de línea
        printf("\n\n\n");
    }
}

Define la función main

Define la función principal. Toma la entrada del usuario para el número total de elementos en la serie de Fibonacci y la pasa a la función printFibo.

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int k, n;
    long int i = 0, j = 1;
    printf("Enter the length of the Fibonacci series: ");
    scanf("%d", &n);
    printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
    printf("%d ", 1);
    printFibo(n);
    printf("\n\n\t\t\tCoding is Fun!\n\n\n");
    return 0;
}

Termina el código

Ahora, se presenta a continuación el programa completo para imprimir la serie de Fibonacci utilizando recursividad:

#include<stdio.h>

// declarando la función
void printFibo(int);

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int k, n;
    long int i = 0, j = 1;
    printf("Enter the length of the Fibonacci series: ");
    scanf("%d", &n);
    printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
    printf("%d ", 1);
    printFibo(n);
    printf("\n\n\t\t\tCoding is Fun!\n\n\n");
    return 0;
}

void printFibo(int aj)
{
    static long int first = 0, second = 1, sum;
    if(aj > 1)
    {
        sum = first + second;
        first = second;
        second = sum;
        printf("%ld ", sum);
        printFibo(aj-1);    // llamada recursiva
    }
    else
    {
        // después de los elementos, para salto de línea
        printf("\n\n\n");
    }
}

Resumen

En este laboratorio, has aprendido cómo crear un programa en C para imprimir la serie de Fibonacci utilizando recursividad. Ahora comprendes el proceso de definir funciones y utilizar la recursividad para iterar a través de la serie necesaria.