Función recursiva para calcular x elevado a y siendo x un número entero e y un número entero mayor o igual que 0.
La solución recursiva se basa en que si y = 0 entonces m^0 = 1 (caso base)
Si y > 0 Podemos calcular x^y como x * x^(y-1)
Por ejemplo:
para los valores x = 2 y = 5
x^y => 2^5 = 2 * 2^4
El programa que calcula x elevado a y de forma recursiva es el siguiente.
La función recursiva que realiza el cálculo es la función potencia.
La función recursiva que realiza el cálculo es la función potencia.
#include <iostream>
using namespace std;
double potencia(int, int);
int main()
{
int x, y;
cout << "Introduzca base: ";
cin >> x;
using namespace std;
double potencia(int, int);
int main()
{
int x, y;
cout << "Introduzca base: ";
cin >> x;
do
{
cout << "Introduzca exponente >=0 : ";
cin >> y;
}while(y<0);
cout << "Introduzca exponente >=0 : ";
cin >> y;
}while(y<0);
cout << x << " elevado a " << y << " = " << potencia(x,y) << endl;
system("pause");
}
double potencia(int x, int y)
{
if (y==0)
return 1;
else
return x*(potencia(x,y-1));
}
system("pause");
}
double potencia(int x, int y)
{
if (y==0)
return 1;
else
return x*(potencia(x,y-1));
}
La solución iterativa (no recursiva) del problema es la siguiente:
#include <iostream>
using namespace std;
double potencia(int, int);
int main()
{
int x, y;
cout << "Introduzca base: ";
cin >> x;
using namespace std;
double potencia(int, int);
int main()
{
int x, y;
cout << "Introduzca base: ";
cin >> x;
do
{
cout << "Introduzca exponente >=0 : ";
cin >> y;
}while(y<0);
cout << "Introduzca exponente >=0 : ";
cin >> y;
}while(y<0);
cout << x << " elevado a " << y << " = " << potencia(x,y) << endl;
system("pause");
}
double potencia(int x, int y)
{
double resultado=1;
int i;
for(i=1;i<=y;i++)
resultado = resultado * x;
return resultado;
}
system("pause");
}
double potencia(int x, int y)
{
double resultado=1;
int i;
for(i=1;i<=y;i++)
resultado = resultado * x;
return resultado;
}
Este comentario ha sido eliminado por el autor.
ResponderEliminarAqui hay un video que explica como hacer la potencia de un numero usando recursividad:
ResponderEliminarhttps://www.youtube.com/watch?v=1xN-yeUhoJA&t=24s
Saludos!!
Excelente
ResponderEliminarMuchas gracias :D
ResponderEliminarAyúdenme con este ejercicio por favor dado un número entero por pantalla escriba los 10 números anteriores en una serie regresiva
ResponderEliminarBuen dia me puede por favor ayudar con este ejercicio
ResponderEliminar-Crear un programa que permita al usuario ingresar los montos de las compras de un cliente ( se desconoce la cantidad de datos que cargara, la cual puede cambiar en cada ejecución), cortando el ingreso de datos cuando el usuario ingrese el monto 0
Si ingresa un monto negativo, no se debe procesar y se debe pedir que ingrese un nuevo monto. Al finalizar, informar el total a pagar teniendo que cuenta que, si las ventas superan en total de $1000, se debe aplicar un 10% de descuento. Recuerde van a ingresar los montos de las compras realizada, de un cliente al que deben al menos registrar su nombre al final indicarle cuanto debe pagar
gracias de antemano
Elaborar un algoritmo en donde se le proporcione a 5 usuarios la posibilidad de escoger una de 3 opciones posibles así:
ResponderEliminarOpción 1: se deben entrar 8 valores, obtener el porcentaje de los mayores de 60.
Opción 2: El usuario debe capturar los datos de 8 personas: nombre, sexo (1=hombre,2 mujer), peso, estatura. Calcular el peso promedio de las mujeres con estatura mínima de 1,70 y peso máximo de 53 kilos. Mostrar el nombre de los descartados
Opción 3:Entrar por pantalla 4 números enteros averiguar cuántos son primos.
NOTA: CADA USUARIO PUEDE VOLVER AL MENU LAS VECES QUE DESEE