Menu
CoddyTech

Least Common Multiple

PoczątkującyMatematyka i symulacjapython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz dwie dodatnie liczby całkowite a i b. Zwróć ich najmniejszą wspólną wielokrotność: najmniejszą dodatnią liczbę całkowitą, przez którą a i b dzielą się bez reszty.

Na przykład wielokrotnościami 6 są 6, 12, 18, 24 i tak dalej, wielokrotnościami 8 są 8, 16, 24 i tak dalej, a pierwszą liczbą na obu listach jest 24.

Funkcja

lcm(a: integer, b: integer) → integer
ainteger
pierwsza dodatnia liczba całkowita
binteger
druga liczba całkowita dodatnia
Zwracainteger
najmniejsza dodatnia liczba całkowita, która jest wielokrotnością zarówno a, jak i b

Ograniczenia

  • 1 ≤ a ≤ 106
  • 1 ≤ b ≤ 106
  • Wynik mieści się w 32-bitowej liczbie całkowitej ze znakiem: lcm(a, b) ≤ 231-1. Iloczyn a × b może się nie mieścić.

Przykłady

Wejście
a = 4b = 6
Wyjście
12
Wyjaśnienie
Wielokrotności 6 zaczynają się od 6, 12, 18; wielokrotności 4 zaczynają się od 4, 8, 12. Pierwszą liczbą na obu listach jest 12.

lock icon+15 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy potrafisz znaleźć NWD bez używania dzielenia ani reszty z dzielenia, korzystając wyłącznie z odejmowania i dzielenia przez 2?

Zresetuj kod
def lcm(a, b):
    # Napisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

a = 4
b = 6

Oczekiwane

12