Máximo común divisor y potencia en java - jcreator

Realizar un programa que lea un numero entero y le saque el máximo común divisor y de método recursivo la potencia al mismo entero.
1

1 respuesta

Respuesta
1
En tu pregunta creo que hay un error ya que el máximo común divisor no se le puede sacar a un solo numero... se necesitan por lo menos 2 números para poder sacar un número más grande posible que permite dividir a esos números... así que tu programa quedaría más o menos así:
import javax.swing.*;
public class holaMundo {
public static void main(String[] args) {
int n1 = Integer.parseInt(input("Digite el primer numero:"));
int n2 = Integer.parseInt(input("Digite el segundo numero:"));
// primero que todo buscamos el menor de los 2 numeros
int menor = n1 < n2? n1:n2;
// ahora comenzamos a dividir ambos numeros con el menor
// y lo vamos decrementando hasta encontrar el numero
// cuya division de como residuo cero.
int MCD = menor; // comenzamos suponiendo que el numero menor es el MCD
int aux = menor; // comenzamos suponiendo que el numero menor es el MCD
while( aux >= 1 ){
// la suma de los residuos de las 2 divisiones
int residuos = (((n1 % aux) + (n2 % aux)));
if ( residuos == 0 ){
MCD = aux;
break;
}
aux--;
}
JOptionPane.showMessageDialog(null,"El Maximo Comun Divisor de "+n1+" y "+n2+" es: "+MCD);
// ahora vamos con la potencia recursiva
int base = Integer.parseInt(input("Digite la base:"));
int exp = Integer.parseInt(input("Digite el exponente:"));
JOptionPane.showMessageDialog(null,"La potencia de "+base+" elevado a la "+exp+" es: "+potencia(base,exp));
System.exit(0);
}
// metodo para pedir un dato por pantalla
static String input(String mensaje){
return JOptionPane.showInputDialog(null,mensaje);
}
// metodo para calcular la potencia de un numero recursivamente
static int potencia( int base, int exponente ){
if ( exponente == 0 ){
return 1;
}
return base * potencia(base,exponente-1);
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas