MCM (Mínimo común múltiplo) de dos números es el número más pequeño que se puede dividir entre ambos números.
Por ejemplo, MCM de 15 y 20 es 60 y MCM de 5 y 7 es 35.
Una solución simple es encontrar todos los factores primos de ambos números, luego encontrar la unión de todos los factores presentes en ambos números. Finalmente, devuelva el producto de elementos en unión.
Una solución eficiente se basa en la siguiente fórmula para MCM de dos números ‘a’ y ‘b’.
a x b = LCM(a, b) * GCD (a, b) LCM(a, b) = (a x b) / GCD(a, b)
Hemos discutido la función para encontrar el MCD de dos números . Usando GCD, podemos encontrar LCM.
A continuación se muestra la implementación de la idea anterior:
C
// C program to find LCM // of two numbers #include <stdio.h> // Recursive function to return // gcd of a and b int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // Function to return LCM of // two numbers int lcm(int a, int b) { return (a / gcd(a, b)) * b; } // Driver code int main() { int a = 15, b = 20; printf("LCM of %d and %d is %d ", a, b, lcm(a, b)); return 0; }
LCM of 15 and 20 is 60
Complejidad del tiempo: O(log(min(a,b))
Espacio auxiliar: O(log(min(a,b))
¡ Consulte el artículo completo sobre Programa para encontrar MCM de dos números para obtener más detalles!
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA