R12192efrJ5bH
Grafika przedstawia dwa splecione symbole węży. Jeden jest niebieski, a drugi żółty.

Algorytm Euklidesa

Logo języka Python
Źródło: Dnu72, dostępny w internecie: commons.wikimedia.org, licencja: CC BY-SA 4.0.

Algorytm Euklidesa opisuje metodę znajdowania największego wspólnego dzielnika dwóch liczb naturalnych. Nazwa pochodzi od greckiego matematyka Euklidesa, który jako pierwszy opisał algorytm w IV w p.n.e., chociaż nie był jego autorem. Problem wyznaczania NWD rozwiązywany jest na wiele sposobów, w tym materiale wykorzystamy wersję opartą na odejmowaniu.

NWD

Największy wspólny dzielnik (NWD) dwóch liczb naturalnych ab większych od 0 to największa liczba naturalna d, która jest dzielnikiem każdej z nich, czyli dzieli je bez reszty. Przyjmijmy, że będziemy ją oznaczać jako d = NWD(a, b).

NWD ma wiele zastosowań, m.in. pozwala skracać ułamki zwykłe do postaci, w której licznik i mianownik są liczbami względnie pierwszymi, czyli NWD(a, b) = 1.

Algorytm Euklidesa z zastosowaniem odejmowania

Skonstruujemy algorytm, który obliczy największy wspólny dzielnik dwóch dodatnich liczb naturalnych.

Specyfikacja algorytmu:

Dane:

  • a, b – dodatnie liczby naturalne

Wynik:

  • d - dodatnia liczba naturalna, NWD(a, b)

Do rozwiązania postawionego zadania użyjemy algorytmu Euklidesa w wersji z odejmowaniem.

Przykład 1

Przeanalizujmy wyznaczanie NWD według algorytmu Euklidesa z wykorzystaniem odejmowania dla danych: a = 4, b = 10.

Powtórzenia

a

b

działanie

1

4

10

b = 10 - 4

2

4

6

b = 6 - 4

3

4

2

a = 4 - 2

4

2

2

-

Liczba powtórzeń: 3.
Wynik: NWD (4, 10) = 2

Z powyższego przykładu wynika, że dopóki liczby ab są różne, w każdym powtórzeniu sprawdzamy, która liczba jest większa. Jeżeli a > b, obliczamy a = a - b, w przeciwnym razie wyliczamy b = b - a. Kiedy ab są równe, wynikiem jest dowolna z tych liczb.

Zapiszmy algorytm w postaci listy kroków:

  1. Wczytaj a, b.

  2. Jeżeli a jest równe b, przejdź do kroku 5.

  3. Jeżeli a > b, zmiennej a przypisz a - b, w przeciwnym razie b przypisz b - a.

  4. Przejdź do kroku 2.

  5. Wypisz a i zakończ algorytm.

Przeanalizujmy również schemat blokowy algorytmu:

R7eTw2k5l821C
Schemat blokowy algorytmu
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Wyrażenie a != b interpretujemy jako „a różne od b”.

Z obydwu sposobów zapisu algorytmu wynika, że na początku pobieramy dane wejściowe, czyli dwie dodatnie liczby całkowite. Następnie porównujemy je i większą pomniejszamy o mniejszą. Operacje te powtarzają się dopóki liczby ab są różne. Kiedy zrównają się, wyprowadzamy wynik, tj. dowolną z tych liczb, i kończymy.

Notatnik

RwQTyLx3QQNTf
Miejsce na Twoje notatki: (Uzupełnij).

Animacja

Polecenie 1

Zapoznaj się z animacją, która pokazuje, w jaki sposób możemy uzyskać odpowiedź na pytanie o to, ile trzeba wykonać operacji odejmowania, zanim znajdziemy największy wspólny dzielnik z wykorzystaniem algorytmu Euklidesa.

R1E3bvJEBiR8S
Animacja pod tytułem Największy wspólny dzielnik

Program nwd_odejmowanie_licznik.py zaprezentowany w animacji:

RtHYN7flOUvq1

Plik do pobrania z kodem źródłowym programu.

Plik PY o rozmiarze 574.00 B w języku polskim
1
Polecenie 2

Uruchom program nwd_odejmowanie_licznik.py i przetestuj jego działanie dla podanych danych:

Linia 1. kratka Pierwszy zestaw danych. Linia 2. a znak równości 8. Linia 3. b znak równości 32. Linia 5. kratka Drugi zestaw danych. Linia 6. a znak równości 8. Linia 7. b znak równości 2848. Linia 9. kratka Trzeci zestaw danych. Linia 10. a znak równości 2. Linia 11. b znak równości 10. Linia 13. kratka Czwarty zestaw danych. Linia 14. a znak równości 2. Linia 15. b znak równości 22222.
RlvYg4byQuiPH
Wysłuchaj fragmentu książki innego filozofa, Oswalda Spenglera, pt. Zmierzch Zachodu (1918). Zastanów się i wyjaśnij tezę, iż cywilizacja jest dopełnieniem i zakończeniem kultury. Jak ma się ona do kryzysu Zachodu? (Uzupełnij).
1
Polecenie 3

Do wykonania polecenia wykorzystaj następujące dwa zestawy danych:

Linia 1. kratka Pierwszy zestaw danych. Linia 2. a znak równości 34. Linia 3. b znak równości 16. Linia 5. kratka Drugi zestaw danych. Linia 6. a znak równości 16. Linia 7. b znak równości 34.
R1dQ7DWSQpJk9
Wysłuchaj fragmentu książki innego filozofa, Oswalda Spenglera, pt. Zmierzch Zachodu (1918). Zastanów się i wyjaśnij tezę, iż cywilizacja jest dopełnieniem i zakończeniem kultury. Jak ma się ona do kryzysu Zachodu? (Uzupełnij).
Polecenie 4
R1YSudRpoDHj7
Wysłuchaj fragmentu książki innego filozofa, Oswalda Spenglera, pt. Zmierzch Zachodu (1918). Zastanów się i wyjaśnij tezę, iż cywilizacja jest dopełnieniem i zakończeniem kultury. Jak ma się ona do kryzysu Zachodu? (Uzupełnij).

Zestaw ćwiczeń interaktywnych

RY9rpifYMr52W
Ćwiczenie 1
Przykładowy wygląd zakładki zadania. Pod poleceniem znajdują się panele z tekstem z miejscem do oznaczenia prawidłowej odpowiedzi. Poniżej znajduje się panel z napisem SPRAWDŹ a pod nim napis Pokaż odpowiedź.
Źródło: Robert Bednarz, licencja: CC BY 3.0.
REjm0EzD1sX4T
Ćwiczenie 2
Przykładowy wygląd zakładki zadania. Pod poleceniem znajdują się panele z tekstem z miejscem do oznaczenia prawidłowej odpowiedzi. Poniżej znajduje się panel z napisem SPRAWDŹ a pod nim napis Pokaż odpowiedź.
Źródło: Robert Bednarz, licencja: CC BY 3.0.
RRvpBsyDPhSUv
Ćwiczenie 3
Przykładowy wygląd zakładki zadania. Pod poleceniem znajdują się panele z tekstem z miejscem do oznaczenia prawidłowej odpowiedzi. Poniżej znajduje się panel z napisem SPRAWDŹ a pod nim napis Pokaż odpowiedź.
Źródło: Robert Bednarz, licencja: CC BY 3.0.
RARugbyugq6pi
Ćwiczenie 4
Przykładowy wygląd zakładki zadania. Pod poleceniem znajdują się panele z tekstem z miejscem do oznaczenia prawidłowej odpowiedzi. Poniżej znajduje się panel z napisem SPRAWDŹ a pod nim napis Pokaż odpowiedź.
Źródło: Robert Bednarz, licencja: CC BY 3.0.
1
Ćwiczenie 5
Rq5QSmwpt0Ywx
Wysłuchaj fragmentu książki innego filozofa, Oswalda Spenglera, pt. Zmierzch Zachodu (1918). Zastanów się i wyjaśnij tezę, iż cywilizacja jest dopełnieniem i zakończeniem kultury. Jak ma się ona do kryzysu Zachodu? (Uzupełnij).
R1VFoXMOoCetq
Ćwiczenie 6
Przykładowy wygląd zakładki zadania. Pod poleceniem znajdują się panele ułożone po cztery w dwóch rzędach. Każdy z paneli zawiera treści do połączenia w pary. Poniżej znajduje się panel z napisem SPRAWDŹ a pod nim napis Pokaż odpowiedź.
Źródło: Robert Bednarz, licencja: CC BY 3.0.
R1HCfFx0WnV16
Ćwiczenie 7
Przykładowy wygląd zakładki zadania. Pod poleceniem znajdują się panele z tekstem z miejscem do oznaczenia prawidłowej odpowiedzi. Poniżej znajduje się panel SPRAWDŹ a pod nim napis Pokaż odpowiedź.
Źródło: Robert Bednarz, licencja: CC BY 3.0.
311
Ćwiczenie 8

Wykonaj kolejne ćwiczenia.

R1A9wBV4KXzaF
Źródło: GroMar, licencja: CC BY 3.0.