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.