Desde la función principal se tendrá que pedir al usuario dos números y calcular el máximo común divisor haciendo una llamada a la función creada.
Ejemplo:
Introduzca primer número:
> 3
Introduzca segundo número:
> 9
El máximo comun divisor de 3 y 9 es 3
Introduzca primer número:
> 6
Introduzca segundo número:
> 20
El máximo comun divisor de 6 y 20 es 2
> 3
Introduzca segundo número:
> 9
El máximo comun divisor de 3 y 9 es 3
Introduzca primer número:
> 6
Introduzca segundo número:
> 20
El máximo comun divisor de 6 y 20 es 2
SOLUCIÓN EN JAVA:
package mcd; import javax.swing.JOptionPane; public class MCD { static int mcd(int a, int b){ int divisor; //Lo primero es seleccionar el menor de los dos if (a>b) divisor=b; else divisor=a; //Y ahora empiezo a probar si ese número es el mcd o lo son //los sucesivos inferiores a él while ((a%divisor!=0 || b%divisor!=0) && divisor>1) divisor--; //Para salir del bucle while, se deben cumplir una de las dos condiciones: //- divisor es un mcd de ambos números //- divisor ha llegado a valer 1, con lo cual ése es el máximo común divisor return divisor; } public static void main(String[] args) { int valor1, valor2, resultado; //Pido al usuario los dos numeros para calcular el mcd: try{ valor1=Integer.parseInt(JOptionPane.showInputDialog("Introduzca primer número:")); valor2=Integer.parseInt(JOptionPane.showInputDialog("Introduzca segundo número:")); //y ahora calculo el máximo común divisor llamando a la función "mcd" resultado=mcd(valor1,valor2); JOptionPane.showMessageDialog(null, "El máximo común divisor de "+valor1+" y "+valor2+" es "+resultado); } catch (NumberFormatException e){ JOptionPane.showMessageDialog(null, "Formato de número incorrecto"); } } }
porque usar el or y no el and??
ResponderEliminar