Hola a todos, hoy os voy a explicar como podemos calcular el mínimo común múltiplo en Java.
En matemáticas, el mínimo común múltiplo (abreviado m.c.m.) de dos o más números naturales es el menor múltiplo común de todos ellos (o el ínfimo del conjunto de los múltiplos comunes).
En Java, el proceso que haremos el siguiente:
- Obtenemos en una variable a el número mayor de los dos números.
- Obtenemos en una variable b el número menor de los dos números.
- Hacemos la siguiente formula: (a / mcd) * b. Donde mcd es el máximo común divisor de a y b.
Veamos cada paso en código:
Obtenemos en una variable a el número mayor de los dos números:
public static int mcm(int num1, int num2) { int a = Math.max(num1, num2); }
Obtenemos en una variable b el número menor de los dos números.
public static int mcm(int num1, int num2) { int a = Math.max(num1, num2); int b = Math.min(num1, num2); }
Hacemos la siguiente formula: (a / mcd) * b. Donde mcd es el máximo común divisor de a y b.
public static int mcm(int num1, int num2) { int a = Math.max(num1, num2); int b = Math.min(num1, num2); int resultado = (a / mcd(num1, num2)) * b; return resultado; }
Para obtener el mcd, lo explicamos aquí:
Ahora vamos a probarlo:
public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Dame el primer numero"); int num1 = sn.nextInt(); System.out.println("Dame el segundo numero"); int num2 = sn.nextInt(); int res = mcm(num1, num2); System.out.println("MCM: " + res); }
Este seria el resultado:
En ese caso, el MCM de 10 y 15 es 30, ya que tienen en común el 30 como múltiplo y es el mínimo de ellos.
Os dejo el ejemplo completo:
import java.util.Scanner; public class EjemploMCM{ public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Dame el primer numero"); int num1 = sn.nextInt(); System.out.println("Dame el segundo numero"); int num2 = sn.nextInt(); int res = mcm(num1, num2); System.out.println("MCM: " + res); } public static int mcm(int num1, int num2) { int a = Math.max(num1, num2); int b = Math.min(num1, num2); int resultado = (a / mcd(num1, num2)) * b; return resultado; } public static int mcd(int num1, int num2) { int a = Math.max(num1, num2); int b = Math.min(num1, num2); int resultado = 0; do { resultado = b; b = a % b; a = resultado; } while (b != 0); return resultado; } }
Os dejo un video donde lo explico paso a paso
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte
Deja una respuesta