Desde la función principal tendrás que crear un array e introducir a mano los números de los que queremos calcular el máximo común divisor, y a continuación tendrás que hacer una llamada a la función creada para finalmente imprimir por pantalla el resultado.
Ejemplo:
Lista de numeros:[12, 6, 18, 24]
Máximo cómun divisor: 6
Lista de numeros:[4, 8, 30, 124]
Máximo cómun divisor: 2
Máximo cómun divisor: 6
Lista de numeros:[4, 8, 30, 124]
Máximo cómun divisor: 2
SOLUCIÓN EN JAVA:
package mdc_arrays; import java.util.Arrays; public class MDC_Arrays { static int mcd(int[] lista){ int i,menor; boolean no_es_mcd=false,probar_siguiente=true; //Primero obtengo el menor número del array porque empezaremos //a probar a dividir por él hacia abajo menor=lista[0]; for (i=1;i < lista.length;i++){ if (lista[i] < menor){ menor=lista[i]; } } //Ya tengo en la variable "menor" el menor número del array while (probar_siguiente==true){ //Ahora tengo que comprobar si "menor" es divisible por todos los números del array for (i=0;i < lista.length && no_es_mcd==false;i++){ if (lista[i]%menor!=0) no_es_mcd=true; } //Si no lo es, tendré que probar con el siguiente número, que será menor-1 if (no_es_mcd){ menor--; no_es_mcd=false; } else{ //En caso de que todos los números sean divisible por menor, //salgo del bucle principal while pq ya he encontrado el mcd probar_siguiente=false; } } return menor; } public static void main(String[] args) { int[] numeros={4,8,30,124}; System.out.println("Lista de numeros:"+Arrays.toString(numeros)); System.out.println("Máximo cómun divisor: "+mcd(numeros)); } }
muy bn
ResponderEliminargenial
ResponderEliminarsi fuera por numeros ingresados por el usuario?
ResponderEliminar