NWW i skracanie ułamka
Algorytm Euklidesa iteracyjnie: odejmowanie i reszta z dzielenia - Informatyka - liceum klasa 1, zakres rozszerzony (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 - liceum klasa 1, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.