Autor Tema: calcular potencia con recursividad java  (Leído 49172 veces)

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
calcular potencia con recursividad java
« en: 12 de Agosto 2014, 04:03 »
Hola comunidad de aprenderaprogramar estoy viendo como resuelvo este algoritmo en Java en el entorno Netbeans y no he podido a haber si me ayudad  como hacerlo elevándolo a la potencia! se los agradezco de antemano ...  :-[

Es lo siguiente :

He echo esta forma para calcular un numero factorial... Con el tema de Recursividad en Java ...  Pero el gran dilema de como hacerlo elevándolo a la potencia .. No lo he logrado  :-[ ... Por favor espero de su ayuda ! .. De antemano muchísimas Gracias ! 

Aquí les dejo el código calculándolo normal !

Código: [Seleccionar]
package factorialrecursividad;

import javax.swing.*;

public class FactorialRecursividad {

    public static void main(String[] args) {
        // TODO code application logic here

        int n;

        n = Integer.parseInt(JOptionPane.showInputDialog(" -- Señor Usuario Digite El Numero a Calcular el Factoril -- "));

        JOptionPane.showMessageDialog(null, "El Factorial Es" + factorial(n));

    }

    public static int factorial(int n) {
        {
            int resultado;

            if (n == 0) // caso base
            {
                resultado = 1;
            } else // caso general
            {
                resultado = n * factorial(n - 1);
            }
            return resultado;
        }
    }

}
« Última modificación: 13 de Septiembre 2014, 18:55 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Factorial Recursividad elevarlo a la potencia
« Respuesta #1 en: 12 de Agosto 2014, 09:39 »
Hola, ¿a qué te refieres con elevándolo a la potencia? ¿Te refieres a resolver un factorial o a otro tipo de cálculo? Un factorial no se resuelve con potencias, no entiendo bien a qué te puedes referir.

Por ejemplo: factorial de 5 es 5*4*3*2*1 = 120

Pon un ejemplo de lo que quieres resolver para tratar de plantearlo entre todos. Salu2


Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Factorial Recursividad elevarlo a la potencia
« Respuesta #3 en: 13 de Agosto 2014, 16:00 »
Ogramar Gracias por tu ayuda !!

Me refiero a que el algoritmo que tengo pueda calcular el numero  por ejemplo 5 elevado a la  2 ( AL CUADRADO ) o a la 3 ( AL CUBO )  como lo puedo colocar en el algoritmo que realice ?¿     ??? ???

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Factorial Recursividad elevarlo a la potencia
« Respuesta #4 en: 13 de Agosto 2014, 17:20 »
Está explicado en el enlace que te dejé anteriormente, en concreto el código para calcular una potencia con recursividad es este:

Código: [Seleccionar]
     public int potenciaConRecursion (int m, int n) {
        if (n==0) { return 1;
        } else  { return m * potenciaConRecursion (m, n-1); }
    } //Cierre del método

Si llamas al método como potenciaConRecursion (5, 2) te calculará 5 al cuadrado. Si le pasas potenciaConRecursion(5, 3) te calculará 5 al cubo, etc. de esa forma puedes calcular la potencia de cualquier número.


Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Factorial Recursividad elevarlo a la potencia
« Respuesta #5 en: 14 de Agosto 2014, 06:28 »
Si como dices .. ya lo logre hacer ..  :D :D

Excelente tu ayuda !

Código: [Seleccionar]
package potencia;

import javax.swing.*;

public class Potencia {

    public static void main(String[] args) {
        // TODO code application logic here

        int n, m;

        n = Integer.parseInt(JOptionPane.showInputDialog(" -- Señor Usuario Digite El Numero a Calcular el Factorial -- "));

        m = Integer.parseInt(JOptionPane.showInputDialog(" -- Señor Usuario Digite El Numero a la Potencia -- "));

        JOptionPane.showMessageDialog(null, " El Factorial Es " + funcionp(n,m));
       


    }

    public static int funcionp(int m, int n) {

        if (n == 0) {

            return 1;
        }
       
        else {

           return m * funcionp(m, n - 1);

        }

    } //Cierre del método

}
 

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".