Suma de los primeros N números con recursión

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, aprenderemos a usar la recursión para encontrar la suma de los primeros N números. Usaremos el lenguaje de programación C para escribir un programa que tome una entrada del usuario, calcule la suma de los primeros N números y muestre el resultado al usuario. La recursión es una técnica utilizada en la programación en la que una función se llama a sí misma para resolver un problema.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FunctionsGroup -.-> c/function_parameters("Function Parameters") c/FunctionsGroup -.-> c/recursion("Recursion") c/FileHandlingGroup -.-> c/create_files("Create Files") c/FileHandlingGroup -.-> c/read_files("Read Files") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/function_declaration -.-> lab-123342{{"Suma de los primeros N números con recursión"}} c/function_parameters -.-> lab-123342{{"Suma de los primeros N números con recursión"}} c/recursion -.-> lab-123342{{"Suma de los primeros N números con recursión"}} c/create_files -.-> lab-123342{{"Suma de los primeros N números con recursión"}} c/read_files -.-> lab-123342{{"Suma de los primeros N números con recursión"}} c/user_input -.-> lab-123342{{"Suma de los primeros N números con recursión"}} c/output -.-> lab-123342{{"Suma de los primeros N números con recursión"}} end

Creando un archivo y definiendo la función principal

Primero, crearemos un nuevo archivo llamado main.c. La función principal toma una entrada del usuario para el valor de N, pasa esta entrada a la función de suma recursiva y luego muestra el resultado.

#include<stdio.h>

int getSum(int);

int main()
{
    printf("Este programa encuentra la suma de los primeros N números usando recursión.\n");

    int n, sum;
    printf("\nIngrese el valor de N: ");
    scanf("%d", &n);

    sum = getSum(n);

    printf("\nLa suma de los primeros %d números es %d\n", n, sum);

    return 0;
}

Definiendo la función de suma recursiva

En este paso, definiremos la función de suma recursiva getSum(). Esta función toma un parámetro entero n y devuelve la suma de los primeros n enteros. Esta función se llama recursivamente hasta que llegamos a un caso donde n es menor o igual a 0.

int getSum(int n)
{
    static int sum = 0;

    if (n <= 0) {
        return sum;
    }

    sum += n;
    getSum(n-1);
}

La declaración static int sum = 0; se utiliza para crear una variable local estática. Dado que se trata de una recursión, la misma variable se utilizará cada vez que se llame a getSum() múltiples veces.

Ejecutando el código

El programa ya está listo para ejecutarse. Compile y ejecute el programa usando el siguiente comando:

$ gcc main.c -o main
$./main

Lista completa de código

#include<stdio.h>

int getSum(int);

int main()
{
    printf("Este programa encuentra la suma de los primeros N números usando recursión.\n");

    int n, sum;
    printf("\nIngrese el valor de N: ");
    scanf("%d", &n);

    sum = getSum(n);

    printf("\nLa suma de los primeros %d números es %d\n", n, sum);

    return 0;
}

int getSum(int n)
{
    static int sum = 0;

    if (n <= 0) {
        return sum;
    }

    sum += n;
    getSum(n-1);
}

Resumen

En este laboratorio, aprendimos cómo usar la recursión en el programa C para encontrar la suma de los primeros N números. Creamos un programa que toma la entrada del usuario, utiliza una función recursiva para calcular la suma de los primeros N enteros y muestra el resultado al usuario.