Exponenciação recursiva. Escreva uma função recursiva power( base, expoente ) que, quando chamada, retorna: base ^ expoente
Por exemplo, power( 3, 4 ) = 3 * 3 * 3 * 3. Suponha que expoente seja um inteiro maior ou igual a 1. Dica: a etapa de recursão usaria o relacionamento base ^ expoente = base * base ^ expoente–1 e a condição de término ocorre quando expoente é igual a 1, pois base1 = base
Passo 1
Fala Galerinhaaaa!!! Exercício tranquilo para ficar craque na programação. Vamos juntos resolver essa parada.
Primeiro de tudo, vamos ter que usar recursividade no nosso programa.

Mas calma!!! A recursividade é simplesmente quando uma função chama a si mesma. Parece algo difícil, mas confia, não é.
Como no exercício teremos que calcular a exponenciação, por exemplo, power( 3, 4 ) = 3 * 3 * 3 * 3. Onde 3 é a base e 4 é o expoente. Podemos criar uma função que faça a base * power (base, expoente – 1). Ou seja, a função chamando-a até que o expoente seja igual a 1.
Passo 2
Dito isso, a lógica para nossa função está criada. E ficará com essa cara:
long power( long base, long expoente){
/* se o expoente for igual a 1, retorna a base */
if ( expoente == 1){
return base;
} /* final do if */
else{ /* etapa recursiva */
return base * power( base, expoente - 1);
} /* fim do else */
} /* fim da função */
Lembrando que como vamos trabalhar com potenciação, usaremos o modificador de tipo “long” responsável por mudar o tamanho da variável. Na potenciação dependendo do expoente o resultado costumar ser bem grande, para deixar o programa com um desempenho melhor usaremos o “long”.
Passo 3
Agora precisamos chamar a função dentro do main() e pedir para que o usuário digite a base e o expoente. Feito isso nosso programa estará pronto. E podemos ir para o próximo exercício. Pois esse nós já o matamos rsrsrs!!! Valeu Galera!!! Até o próximo exercício!!!
Resposta
O programa final será:
