Cálculo de potencias recursivo en C

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 cómo calcular el resultado de un número dado elevado a la potencia de n utilizando recursividad en el lenguaje de programación C.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c/BasicsGroup -.-> c/operators("Operators") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FunctionsGroup -.-> c/function_parameters("Function Parameters") c/FunctionsGroup -.-> c/math_functions("Math Functions") 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/operators -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/function_declaration -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/function_parameters -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/math_functions -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/recursion -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/create_files -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/read_files -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/user_input -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} c/output -.-> lab-123307{{"Cálculo de potencias recursivo en C"}} end

Crear un archivo C

Crea un nuevo archivo llamado main.c en el directorio ~/project/. Aquí es donde escribiremos nuestro código en C.

Declarar el prototipo de la función

La función power() toma dos enteros como entrada y devuelve el valor después de realizar la operación de potencia.

int power(int base, int exponent);

Definir la función power()

La función power() realiza la operación de potencia llamándose a sí misma de forma recursiva. Si el exponente es igual a cero, devuelve 1. De lo contrario, devuelve el valor de la base multiplicado por el resultado de llamar a la función power() con la misma base y un exponente disminuido en uno.

int power(int base, int exponent)
{
    if(exponent == 0) // Caso base
        return 1;
    else
        return base * power(base, exponent - 1); // Caso recursivo
}

Obtener la entrada del usuario y llamar a la función power()

Obtén la base y el exponente del usuario utilizando la función scanf() y luego pásalos como argumentos a la función power(). Finalmente, muestra el resultado utilizando la función printf().

int main()
{
    int base, exponent, result;

    printf("Enter the base: ");
    scanf("%d", &base);

    printf("Enter the exponent: ");
    scanf("%d", &exponent);

    result = power(base, exponent);

    printf("%d^%d = %d", base, exponent, result);

    return 0;
}

Compilar y ejecutar el código

Guarda los cambios y compila el programa utilizando el compilador gcc de la siguiente manera:

gcc main.c -o main

Ahora, ejecuta el programa escribiendo el siguiente comando en la terminal:

./main

Salida

La salida mostrará el resultado de elevar la base al exponente que el usuario ingresó.

Resumen

En este laboratorio, hemos aprendido cómo calcular un número elevado a la potencia n utilizando recursividad en programación C. Lo logramos utilizando una función recursiva que se llama a sí misma hasta que alcanza el caso base, donde el exponente es igual a cero, y luego devuelve el valor 1. Almacenamos los valores obtenidos de la función recursiva en una variable y los mostramos al usuario utilizando la función printf().

La función power() se puede utilizar para elevar cualquier número a una potencia dada en programación C.