Algorytm Euklidesa, wyznaczanie NWD
Algorytm Euklidesa, służy do wyznaczania największego wspólnego dzielnika dowolnie wybranych dwóch liczb naturalnych. Został on stworzony w IV wieku p.n.e. przez Eudoksosa z Knidos.
Pozwala on na wyznaczenie NWD nie rozkładając liczb na czynniki pierwsze. Cały algorytm opiera się na poniższym założeniu:
Zasada działania:
- Użytkownik musi wprowadzić dwie liczby naturalne, do zmiennych a oraz b;
- do zmiennej c przypisujemy resztę z dzielenia a przez b;
- zmienną a zastępujemy wartością zmiennej b, a do b przypisujemy wartość c;
- jeżeli b = 0 to NWD = a, jeżeli nie przejdź do punktu 2.
Przykładowy program wykorzystujący algorytm Euklidesa (napisany w języku Pascal):
program NWD; USES crt; VAR a,b,c:integer; BEGIN clrscr; writeln('Podaj dwie liczby naturalne:'); readln(a); repeat writeln('Druga liczba musi być różna od O:'); readln(b); until b <> 0; {obliczamy NWD} repeat c := a mod b; a := b; b := c; until b = 0; {wyświetlamy wynik} writeln('NWD = ', a); repeat until keypressed; end.