Java básico 047. Función, potencia de (a^n) utilizando recursividad.

Ejercicio: Desarrolla una función recursiva que calcule (a^n).
Código Java
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;
}
}

8 comentarios :

  1. muchas gracias me ayudaste bastante

    ResponderEliminar
  2. Muy 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

    ResponderEliminar
  3. Osea si me puede dar una explicación de todo lo que hizo?

    ResponderEliminar
    Respuestas
    1. Todo 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.

      Eliminar
    2. Muchas gracias la verdad muy bueno saludos.

      Eliminar
  4. Muchas gracias me sirvió mucho, disculpa para ingresar un número decimal y elevarlo a una potencia entera como lo haria

    ResponderEliminar
    Respuestas
    1. Que tal. Podrías probar cambiando el número base por un tipo float.

      Eliminar