Ejercicio: Desarrolla una función recursiva que calcule (a^n).
import java.util.Scanner;
/**
*
* @author Ariel
*/
public class RecurPotencia {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int result, a, n;
Scanner num = new Scanner(System.in);
System.out.print("Ingresa la base (a): ");
a = num.nextInt();
System.out.print("Ingresa la potencia (n): ");
n = num.nextInt();
result = potencia(a, n);
System.out.println("El resultado de " + a + " exp " + n + " = " + result);
}
static int potencia(int a, int n){
int result;
if(n == 0){
result = 1;
}
else{
// caso recursivo: a^n = a *a^n-1
result = a * potencia(a, n - 1);
}
return result;
}
}
muchas gracias me ayudaste bastante
ResponderEliminarMe alegro te aya servido. Un saludo.
EliminarMuy bueno la verdad pero me podría dar una explicación total del código, como "porque puso tal código porque esto porque lo otro".nose si me explico gracias
ResponderEliminarOsea si me puede dar una explicación de todo lo que hizo?
ResponderEliminarTodo el código es de Java Básico. Esta porción es la recursiva "result = a * potencia(a, n - 1);" De forma sencilla lo que hace esta función es llamar al método potencia(int a, int n) de forma repetitiva (Funciona parecida a un for) hasta que el valor de n sea cero (n-1) y termine la función. Espero te sirva saludos.
EliminarMuchas gracias la verdad muy bueno saludos.
EliminarMuchas gracias me sirvió mucho, disculpa para ingresar un número decimal y elevarlo a una potencia entera como lo haria
ResponderEliminarQue tal. Podrías probar cambiando el número base por un tipo float.
Eliminar