Einfach 0 gelöst 0% Erfolgsquote

Least Common Multiple

Find the smallest positive number divisible by both values.

Das lernst du

  • Compute the LCM from the GCD
  • Avoid overflow by dividing before multiplying
  • Reuse one function inside another

Problem

Übersetzung anzeigen

Return the least common multiple of a and b, the smallest positive number that both divide. lcm(a, b) = a / gcd(a, b) × b.

Implement lcm(a, b).

Input

a: The first positive number. b: The second positive number.

Output

Return lcm(a, b).

Einschränkungen

1 ≤ a, b ≤ 1,000,000,000

Beispiele

Beispiel 1
Eingabe:
a = 4
b = 6

Erwartete Ausgabe:
expected = 12
Eingabe:
long long a = 4;
long long b = 6;

Erwartete Ausgabe:
long long expected = 12;
Eingabe:
long a = 4;
long b = 6;

Erwartete Ausgabe:
long expected = 12;

Erläuterung

Multiples of 4: 4, 8, 12…; multiples of 6: 6, 12…; the first common one is 12.

Beispiel 2
Eingabe:
a = 7
b = 7

Erwartete Ausgabe:
expected = 7
Eingabe:
long long a = 7;
long long b = 7;

Erwartete Ausgabe:
long long expected = 7;
Eingabe:
long a = 7;
long b = 7;

Erwartete Ausgabe:
long expected = 7;

Erläuterung

A number's LCM with itself is the number: 7.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Use the relationship between gcd and lcm instead of searching for multiples.

Hinweis 2

Compute the gcd first, then combine the two numbers carefully.

Hinweis 3

Divide before multiplying to reduce overflow risk, even with large inputs.

Erwartete Komplexität

O(log min(a, b)) time, O(1) extra space

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.