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.
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.
Crie um novo arquivo chamado main.c no diretório ~/project/. É aqui que escreveremos nosso código C.
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);
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
}
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;
}
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
A saída exibirá o resultado da elevação da base ao expoente que o usuário inseriu.
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.