NWW i skracanie ułamka

NWD i NWW: algorytm Euklidesa - Informatyka - technikum klasa 1 (Python)

**Najmniejsza wspólna wielokrotność** NWW(a, b) to najmniejsza liczba podzielna przez `a` i przez `b`. Zachodzi wzór: NWW(a, b) = a · b / NWD(a, b) W programie dzielimy najpierw, a potem mnożymy (`a // gcd(a, b) * b`), żeby pośredni wynik był mniejszy. NWW to najmniejszy **wspólny mianownik** dwóch ułamków. **Skracanie** ułamka `num/den`: dzielimy licznik i mianownik przez ich NWD. Funkcja może zwrócić dwie wartości naraz jako krotkę: `return num, den`.

def gcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

def lcm(a, b):
    return a // gcd(a, b) * b

def reduce(num, den):
    d = gcd(num, den)
    return num // d, den // d

print(lcm(4, 6), lcm(12, 18), lcm(7, 5))
print(reduce(18, 24))
num, den = reduce(150, 35)
print(f"{num}/{den}")

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - technikum klasa 1·Zaloguj się, aby zapisać postęp na koncie.