NWD i NWW - zastosowania

Wprowadzenie

NWD (Największy Wspólny Dzielnik) i NWW (Najmniejsza Wspólna Wielokrotność) to fundamentalne pojęcia w teorii liczb, które mają liczne praktyczne zastosowania w programowaniu, matematyce i życiu codziennym.

W tej lekcji poznamy zaawansowane zastosowania NWD i NWW oraz rozwiążemy praktyczne problemy.

Zastosowania NWD i NWW obejmują:

  • Problemy czasowe (synchronizacja, cykle, harmonogramy)
  • Geometria (kratki, podziały, płytki)
  • Upraszczanie obliczeń (ułamki, proporcje)
  • Optymalizacja (minimalizacja, maksymalizacja)
  • Kryptografia (generowanie kluczy, szyfrowanie)
  • Muzyka (rytmy, harmonie, interwały)

Podstawowe wzory i własności

Relacja między NWD i NWW

Wyjście:

=== Relacja: NWD × NWW = a × b ===

a        b        NWD      NWW      a×b          NWD×NWW      Równe?
---------------------------------------------------------------------------
12       18       6        36       216          216          ✓
15       25       5        75       375          375          ✓
7        11       1        77       77           77           ✓
48       64       16       192      3072         3072         ✓

Własności NWD i NWW

1. NWD(a, b) × NWW(a, b) = a × b
2. NWD(a, b) ≤ min(a, b)
3. NWW(a, b) ≥ max(a, b)
4. NWD(a, b) | NWW(a, b)
5. Jeśli NWD(a, b) = 1, to NWW(a, b) = a × b

Zastosowanie 1: Problemy czasowe i cykliczne

Problem: Kiedy spotkają się ponownie?

Sytuacja: Dwa autobusy odjeżdżają z przystanku jednocześnie. Pierwszy wraca co 12 minut, drugi co 18 minut. Po jakim czasie spotkają się ponownie na przystanku?

Wyjście:

=== Problem autobusów ===

Autobus A: co 12 min, Autobus B: co 18 min
  Spotkają się ponownie za: 36 minut
  Autobus A: 3 kursów
  Autobus B: 2 kursów

Autobus A: co 15 min, Autobus B: co 20 min
  Spotkają się ponownie za: 60 minut
  Autobus A: 4 kursów
  Autobus B: 3 kursów

Autobus A: co 10 min, Autobus B: co 25 min
  Spotkają się ponownie za: 50 minut
  Autobus A: 5 kursów
  Autobus B: 2 kursów

Problem: Synchronizacja sygnałów świetlnych

Wyjście:

=== Synchronizacja świateł ===

Cykle świateł: 30s, 45s, 60s
  Synchronizacja za: 180s (3 min 0s)
  Światło 1: 6 cykli
  Światło 2: 4 cykli
  Światło 3: 3 cykli

Cykle świateł: 20s, 25s, 30s
  Synchronizacja za: 300s (5 min 0s)
  Światło 1: 15 cykli
  Światło 2: 12 cykli
  Światło 3: 10 cykli

Zastosowanie 2: Problemy geometryczne

Problem: Kafelkowanie podłogi

Sytuacja: Pokój ma wymiary 360cm × 480cm. Jaki największy kwadratowy kafelek (bez cięcia) możemy użyć?

Wyjście:

=== Kafelkowanie podłogi ===

Pokój 1: 360cm × 480cm
  Największy kafelek: 120cm × 120cm
  Liczba kafelków: 12
  Układ: 3 × 4

Pokój 2: 240cm × 360cm
  Największy kafelek: 120cm × 120cm
  Liczba kafelków: 6
  Układ: 2 × 3

Łazienka: 150cm × 225cm
  Największy kafelek: 75cm × 75cm
  Liczba kafelków: 6
  Układ: 2 × 3

Problem: Punkty całkowite na odcinku

Pytanie: Ile punktów kratowych (całkowitych) leży wewnątrz odcinka od (0,0) do (a,b)?

Wyjście:

=== Punkty kratowe na odcinku ===

Odcinek         NWD      Punkty wewnątrz    Wszystkie punkty
-----------------------------------------------------------------
(0,0) → (6,9)    3        2                  4
(0,0) → (12,18)  6        5                  7
(0,0) → (7,11)   1        0                  2
(0,0) → (10,15)  5        4                  6

Zastosowanie 3: Upraszczanie i obliczenia

Problem: Dodawanie ułamków

Wyjście:

=== Dodawanie ułamków ===

1/6 + 1/4 = 5/12
  Wspólny mianownik (NWW): 12

2/3 + 3/4 = 17/12
  Wspólny mianownik (NWW): 12

5/12 + 7/18 = 29/36
  Wspólny mianownik (NWW): 36

Problem: Skalowanie proporcji

Wyjście:

=== Skalowanie proporcji ===

Mieszanka: 15:25, suma = 80
  Proporcja uproszczona: 3:5
  Wynik: 30:50 (suma = 80)

Stosunek: 6:9, suma = 100
  Proporcja uproszczona: 2:3
  Wynik: 40:60 (suma = 100)

Podział: 4:6, suma = 50
  Proporcja uproszczona: 2:3
  Wynik: 20:30 (suma = 50)

Zastosowanie 4: Harmonogramy i planowanie

Problem: Wspólne dni wolne

Wyjście:

=== Wspólne dni wolne ===

Osoba A: co 3 dni, Osoba B: co 4 dni, okres: 30 dni
  Wspólne dni wolne: [0, 12, 24]
  Liczba spotkań: 3
  Częstotliwość: co 12 dni

Osoba A: co 5 dni, Osoba B: co 7 dni, okres: 70 dni
  Wspólne dni wolne: [0, 35, 70]
  Liczba spotkań: 3
  Częstotliwość: co 35 dni

Problem: Rotacja zmian

Wyjście:

=== Rotacja zmian roboczych ===

Zmiana A: 2 dni, Zmiana B: 3 dni
  Cykl powtarza się po: 6 dniach
  Zmiana A: 3 rotacji
  Zmiana B: 2 rotacji

Zmiana A: 4 dni, Zmiana B: 6 dni
  Cykl powtarza się po: 12 dniach
  Zmiana A: 3 rotacji
  Zmiana B: 2 rotacji

Zmiana A: 5 dni, Zmiana B: 7 dni
  Cykl powtarza się po: 35 dniach
  Zmiana A: 7 rotacji
  Zmiana B: 5 rotacji

Zastosowanie 5: Problemy kombinatoryczne

Problem: Dzielenie przedmiotów

Wyjście:

=== Równy podział przedmiotów ===

24 cukierki, 36 czekoladek
  Maksymalna liczba osób: 12
  Każda osoba dostanie: 2 + 3

48 długopisów, 72 zeszyty
  Maksymalna liczba osób: 24
  Każda osoba dostanie: 2 + 3

15 jabłek, 25 pomarańczy
  Maksymalna liczba osób: 5
  Każda osoba dostanie: 3 + 5

Problem: Najmniejsza liczba paczek

Wyjście:

=== Minimalna liczba paczek ===

Paczki 6 i 8 sztuk, potrzeba: 50
  NWW(paczek): 24
  Minimalna liczba przedmiotów: 72
  Paczek typu 1: 12 (6 szt/paczka)
  Paczek typu 2: 9 (8 szt/paczka)

Paczki 12 i 15 sztuk, potrzeba: 100
  NWW(paczek): 60
  Minimalna liczba przedmiotów: 120
  Paczek typu 1: 10 (12 szt/paczka)
  Paczek typu 2: 8 (15 szt/paczka)

Zastosowanie 6: Muzyka i rytmy

Problem: Synchronizacja rytmów

Wyjście:

=== Synchronizacja rytmów muzycznych ===

Rytm 3/4 i 4/4
  Synchronizacja po: 12 taktach
  Rytm 1: 4 cykli
  Rytm 2: 3 cykli

Rytm 2/4 i 3/4
  Synchronizacja po: 6 taktach
  Rytm 1: 3 cykli
  Rytm 2: 2 cykli

Rytm 5/4 i 7/4
  Synchronizacja po: 35 taktach
  Rytm 1: 7 cykli
  Rytm 2: 5 cykli

Kompleksowy przykład

Problem: Organizacja wydarzeń

Wyjście:

=== Kompleksowy planer wydarzeń ===

Wydarzenia synchronizują się po: 42 dniach

Zebranie zespołu (co 7 dni):
  Wystąpienia w cyklu: 6
  Pierwsze dni: [0, 7, 14, 21, 28, 35]

Szkolenie (co 14 dni):
  Wystąpienia w cyklu: 3
  Pierwsze dni: [0, 14, 28, 42]

Audyt (co 21 dni):
  Wystąpienia w cyklu: 2
  Pierwsze dni: [0, 21, 42]

Złożoność obliczeniowa

Analiza wydajności

Operacja Złożoność Uwagi
NWD(a, b) O(log min(a, b)) Algorytm Euklidesa
NWW(a, b) O(log min(a, b)) Wymaga NWD
NWD wielu liczb O(n log max) n liczb
NWW wielu liczb O(n log max) n liczb

Podsumowanie

Kluczowe zastosowania

Problemy czasowe: Autobusy, sygnalizacja, harmonogramy ✅ Geometria: Kafelkowanie, punkty kratowe, podziały ✅ Ułamki: Dodawanie, odejmowanie, upraszczanie ✅ Planowanie: Wydarzenia cykliczne, rotacje zmian ✅ Podział: Równe dzielenie przedmiotów ✅ Muzyka: Synchronizacja rytmów, harmonie

Kiedy używać NWD?

  • Upraszczanie (ułamki, proporcje)
  • Maksymalizacja podziału (największy kafelek)
  • Liczby względnie pierwsze
  • Wspólne dzielniki

Kiedy używać NWW?

  • Synchronizacja (cykle, wydarzenia)
  • Minimalizacja okresu (spotkania, rytmy)
  • Wspólny mianownik (ułamki)
  • Harmonogramy

Co dalej?

Po opanowaniu zastosowań NWD i NWW, następne kroki to:

  1. Lekcja 69: Rozkład na czynniki pierwsze
  2. Faktoryzacja liczb
  3. Algorytmy rozkładu
  4. Zastosowania w kryptografii

  5. Lekcja 70: Liczby doskonałe

  6. Definicja i własności
  7. Algorytmy znajdowania
  8. Liczby obfite i niedoborne

  9. Lekcja 71: Pierwiastkowanie - metoda Newtona

  10. Algorytm aproksymacji
  11. Pierwiastki wyższych stopni
  12. Zastosowania numeryczne

Zadania praktyczne

Zadanie 1: Kalkulator ułamków

Napisz pełny kalkulator do operacji na ułamkach (dodawanie, odejmowanie, mnożenie, dzielenie) z automatycznym upraszczaniem.

Zadanie 2: Planer transportu

System autobusowy ma 5 linii z różnymi interwałami. Znajdź optymalny harmonogram synchronizacji.

Zadanie 3: Kafelkowanie 3D

Rozszerz problem kafelkowania na prostopadłościan o wymiarach a×b×c. Znajdź największy sześcian.

Zadanie 4: Muzyczny sekwencer

Symuluj synchronizację 4 różnych rytmów muzycznych i wizualizuj momenty synchronizacji.

Zadanie 5: Problem chińskiego tw. o resztach

Użyj NWD/NWW do rozwiązania układu kongruencji: x ≡ a₁ (mod m₁), x ≡ a₂ (mod m₂).


Następna lekcja: Rozkład na czynniki pierwsze - faktoryzacja liczb