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:
|
1 2 3 4 5 |
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.
|
1 2 3 4 5 |
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.
|
1 2 3 4 5 6 7 8 9 |
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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
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