potencia(x, y) = x, si y = 1
x * potencia(x, y - 1), si y > 1
/*
Ejercicio 21
Escriba una función recursiva que calcule un número elevado a una potencia entera mayor o igual que cero: x^y.
potencia(x, y) = x, y = 1
x * potencia(x, y -1), y > 1
*/
#include<iostream>
#include<stdlib.h>
using namespace std;
// Prototipo de función
int potencia(int, int);
int main() {
int base, exponente;
// Pedir datos al usuario
cout << "Digite la base: ";
cin >> base;
cout << "Digite el exponente: ";
cin >> exponente;
cout << "\nPotencia de " << base << " elevado a " << exponente << " es: " << potencia(base, exponente) << endl;
system("pause");
return 0;
}
int potencia(int x, int y) {
int pot;
if (y == 1) { // Caso base
pot = x;
} else { // Caso general
pot = x * potencia(x, y - 1);
}
return pot;
}
Resultado de Ejecución:
Digite la base: -9
Digite el exponente: 4
Potencia de -9 elevado a 4 es: 6561
Presione una tecla para continuar . . .
--------------------------------
Process exited after 8.794 seconds with return value 0
Presione una tecla para continuar . . .