
Calcular la potencia recursivamente
Java
Publicado el 18 de Mayo del 2018 por Administrador (718 códigos)
1.982 visualizaciones desde el 18 de Mayo del 2018
Código 30 del libro Ejercicios de Programación en Java
import java.io.*;
public class Main {
/**
* sobrecargamos la función para que funcione tanto con bases enteras
* como reales
*/
static int potencia (int a, int n) {
int res;
if (n == 0) // el caso base: cuando el exponente es 0
res = 1;
else
// caso recursivo: a^n = a *a^n-1
res = a * potencia(a, n - 1);
return (res);
}
static double potencia (double a, int n) {
double res;
if (n == 0)
res = 1;
else
res = a * potencia(a, n - 1);
return (res);
}
static int entero(){
int valor=Integer.parseInt(inicializar());
return valor;
}
static double real(){
double valor=Double.parseDouble(inicializar());
return valor;
}
static String inicializar(){
String buzon="";
InputStreamReader flujo=new InputStreamReader(System.in);
BufferedReader teclado=new BufferedReader(flujo);
try{
buzon=teclado.readLine();
}
catch(Exception e){
System.out.append("Entrada incorrecta)");
}
return buzon;
}
public static void main(String[] args) {
double num, resultado;
int potencia;
System.out.print("Introduzca base (real): ");
num = real();
System.out.print("Introduzca la potencia: ");
potencia = entero();
resultado = potencia(num, potencia);
System.out.println("El resultado es: " + resultado);
}
}
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios