Hola a todos en general, recien estoy iniciando en la programacion, este ejemplo lo cogì de un libro , en esta ocasion tengo una duda acerca del funcionamiento del While , este programa es para darme el màximo comùn divisor de dos nùmeros(Algoritmo de Euclides), Se usa el Do while para que cuando el "mcd" sea 0, pare el ciclo. La cuestiòn es que no entiendo porque se realiza un bucle , es decir se sigue dividiendo hasta obtener un "MCD" igual a 0. Yo sè que para que exista un bucle debe existir un contador, pero en este caso sòlo se puede ver un juego de asignaciones dentro del DO:
Código:
do {
residuo = numero1 % numero2;
if (residuo != 0) {
numero1 = numero2;
numero2 = residuo;
} else {
mcd = numero2;
}
}
Programa:
Código:
Scanner xalu =new Scanner(System.in);
System.out.println("Ingrese numero");
int numero1=xalu.nextInt();
System.out.println("Ingrese numero");
int numero2=xalu.nextInt();
int residuo;
int mcd = 0;
do {
residuo = numero1 % numero2;
if (residuo != 0) {
numero1 = numero2;
numero2 = residuo;
} else {
mcd = numero2;
}
} while (residuo != 0);
System.out.println("el mcd es: "+mcd);