Saludos, me dejaron un problema como tarea, el cual consiste ingresar por teclado 3 números y hallar su máximo común divisor. para ello mi programa me pedirá ingresar por teclado 3 numero, seguidamente inicializare un contador en 2 (no considero al 1 por que todos los números son divisibles con 1 y no se considera como su máximo común divisor), seguidamente uso la estructura repetitiva mientras, el cual me permitirá obtener los números por los cuales dividiré n1, n2, n3 y el tope como máximo, lo considere la suma de los números ingresados (i<=n1+n2+n3) la cuestión seria que solo obtenga los números divisibles de los 3 números y luego usar una estructura condicional, para comparar los divisibles comunes y luego imprimirlos.
Ejemplo:
12 = 1,
2, 3, 4, 6, 12
14 = 1,
2, 7, 14
36 = 1,
2, 3, 4, 6, 9, 12, 18, 36
en el ejemplo, se observa los números que son divisibles de los tres números ingresados, y vemos que el 2 (aparte del 1) es el valor que se repite, y el mas mayor de los divisores comunes, por tanto es el máximo común divisor de los tres números
Se implementara el algoritmo en el programa PSeInt y lo pueden descargarlo
aquí.
Algoritmo Maximo_comun_divisor_3N
Definir n1, n2, n3, i Como Entero;
Escribir "Ingrese primer numero";
Leer n1;
Escribir "Ingrese segundo numero";
Leer n2;
Escribir "Ingrese tercer numero";
Leer n3;
i<-2;
Mientras (i<n1+n2+n3) Hacer
Si (n1 mod i=0 y n2 mod i=0 y n3 mod i=0) Entonces
Escribir "maximo comun divisor es: ", i;
Fin Si
i<-i+1;
Fin Mientras
FinAlgoritmo