Problema
Devuelve el mínimo común múltiplo de a y b, el número positivo más pequeño que ambos dividen. lcm(a, b) = a / gcd(a, b) × b.
Implementa lcm(a, b).
Entrada
a: El primer número positivo. b: El segundo número positivo.
Salida
Devuelve lcm(a, b).
Restricciones
1 ≤ a, b ≤ 1,000,000,000
Ejemplos
Entrada:
a = 4
b = 6
Salida esperada:
expected = 12
Entrada:
long long a = 4;
long long b = 6;
Salida esperada:
long long expected = 12;
Entrada:
long a = 4;
long b = 6;
Salida esperada:
long expected = 12;
Explicación
Múltiplos de 4: 4, 8, 12…; múltiplos de 6: 6, 12…; el primer múltiplo común es 12.
Entrada:
a = 7
b = 7
Salida esperada:
expected = 7
Entrada:
long long a = 7;
long long b = 7;
Salida esperada:
long long expected = 7;
Entrada:
long a = 7;
long b = 7;
Salida esperada:
long expected = 7;
Explicación
El mcm de un número consigo mismo es el propio número: 7.
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
Usa la relación entre gcd y lcm en lugar de buscar múltiplos.
Pista 2
Calcula primero el gcd y luego combina los dos números con cuidado.
Pista 3
Divide antes de multiplicar para reducir el riesgo de desbordamiento, incluso con entradas grandes.
Complejidad esperada
tiempo O(log min(a, b)), espacio extra O(1)
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.