Problema: Elaborar un algoritmo en JAVA que permita hallar el mcd de dos numeros enteros positivos y negativos. EL resultado siempre tendra que ser positivo.
Solución:
import java.util.InputMismatchException;
import java.util.Scanner;
/*Fox_94
* V 1.0 2/10/2013
*/
//Programa que calcula el maximo comun divisor(mcd), el usuario ingresa dos
//numeros enteros tanto positivos como negativos y mostrará
//el valor absoluto de los números
public class Mcd {
public static void main(String[] args){
try{
Scanner input = new Scanner(System.in);
System.out.println("Ingrese numero: ");
int a = input.nextInt();
System.out.println("Ingrese segundo numero: ");
int b = input.nextInt();
if((a!=0 && b ==0)){
System.out.println(Math.abs(a)); //se aplica la propiedad y su resultado es el valor absoluto de a
}if((a==0 && b!=0)){
System.out.println(Math.abs(b)); //se aplica la propiedad y su resultado es el valor absoluto de a
}
if((a!=0 && b!=0)){ //Si se cumple esta condicion comenzará a calcular el mcd.
int numMayor = Math.max(a, b); //Este método devuelve el mayor de dos numeros
int numMenor = Math.min(a, b); //Este método devuelve el menor de dos numeros
while(numMenor !=0){ //Este while repite hasta que numMenor sea diferente a 0
int resto = numMayor % numMenor;
numMayor = numMenor; //Guarda numMayor en numMenor
numMenor = resto; //Guarda el residuo
}
int resultado = numMayor; //Después del ciclo guarda el valor
//de numMayor en resultado
System.out.println("El MCD de "+ a+" y "+b+" es: "+Math.abs(resultado) );
//Imprime los valores iniciales a y b tambien resultado.
}
if((a==0 && b ==0)){ // Por la propiedad si los dos son 0 no está definido
System.out.println("No esta definido");
}
}catch(InputMismatchException e){
System.out.println("Error, solo se pueden ingresar numeros ");
}
}
}
Luego de hacer pruebas el resultado será:
Ingrese numero:
-85
Ingrese segundo numero:
20
El MCD de -85 y 20 es: 5
Solución:
import java.util.InputMismatchException;
import java.util.Scanner;
/*Fox_94
* V 1.0 2/10/2013
*/
//Programa que calcula el maximo comun divisor(mcd), el usuario ingresa dos
//numeros enteros tanto positivos como negativos y mostrará
//el valor absoluto de los números
public class Mcd {
public static void main(String[] args){
try{
Scanner input = new Scanner(System.in);
System.out.println("Ingrese numero: ");
int a = input.nextInt();
System.out.println("Ingrese segundo numero: ");
int b = input.nextInt();
if((a!=0 && b ==0)){
System.out.println(Math.abs(a)); //se aplica la propiedad y su resultado es el valor absoluto de a
}if((a==0 && b!=0)){
System.out.println(Math.abs(b)); //se aplica la propiedad y su resultado es el valor absoluto de a
}
if((a!=0 && b!=0)){ //Si se cumple esta condicion comenzará a calcular el mcd.
int numMayor = Math.max(a, b); //Este método devuelve el mayor de dos numeros
int numMenor = Math.min(a, b); //Este método devuelve el menor de dos numeros
while(numMenor !=0){ //Este while repite hasta que numMenor sea diferente a 0
int resto = numMayor % numMenor;
numMayor = numMenor; //Guarda numMayor en numMenor
numMenor = resto; //Guarda el residuo
}
int resultado = numMayor; //Después del ciclo guarda el valor
//de numMayor en resultado
System.out.println("El MCD de "+ a+" y "+b+" es: "+Math.abs(resultado) );
//Imprime los valores iniciales a y b tambien resultado.
}
if((a==0 && b ==0)){ // Por la propiedad si los dos son 0 no está definido
System.out.println("No esta definido");
}
}catch(InputMismatchException e){
System.out.println("Error, solo se pueden ingresar numeros ");
}
}
}
Luego de hacer pruebas el resultado será:
Ingrese numero:
-85
Ingrese segundo numero:
20
El MCD de -85 y 20 es: 5
podrías identarlo.
ResponderEliminar