Cálculo de Potência Recursiva em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como calcular o resultado de um número elevado à potência de n usando recursão na linguagem de programação C.

Criar um arquivo C

Crie um novo arquivo chamado main.c no diretório ~/project/. É aqui que escreveremos nosso código C.

Declarar o protótipo da função

A função power() recebe dois inteiros como entrada e retorna o valor após realizar a operação de potência.

int power(int base, int exponent);

Definir a função power()

A função power() realiza a operação de potência chamando a si mesma recursivamente. Se o expoente for igual a zero, ela retorna 1. Caso contrário, ela retorna o valor da base multiplicado pelo resultado da chamada da função power() com a base e um a menos que o expoente.

int power(int base, int exponent)
{
    if(exponent == 0) // Base case
        return 1;
    else
        return base * power(base, exponent - 1); // Recursive case
}

Obter a entrada do usuário e chamar a função power()

Obtenha a base e o expoente do usuário usando a função scanf() e, em seguida, passe-os como argumentos para a função power(). Finalmente, exiba o resultado usando a função 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 e Executar o código

Salve as alterações e compile o programa usando o compilador gcc da seguinte forma:

gcc main.c -o main

Agora, execute o programa digitando o seguinte comando no terminal:

./main

Saída

A saída exibirá o resultado da elevação da base ao expoente que o usuário inseriu.

Resumo

Neste laboratório, aprendemos como calcular um número elevado à potência de n usando recursão em programação C. Conseguimos isso usando uma função recursiva que se chama a si mesma até atingir o caso base, onde o expoente é igual a zero, então ela retorna o valor 1. Armazenamos os valores que obtivemos da função recursiva em uma variável e os exibimos para o usuário usando a função printf().

A função power() pode ser usada para elevar qualquer número a uma determinada potência em programação C.