function NWD(m,n : integer) : integer; { Zakłada, że parametry m i n są dodatnie, i liczy NWD(m,n). Działa poprawnie dla liczb w dziedzinie typu INTEGER, a np. daje wynik 1 dla m=66666 i n = 66777 gdy NWD(m,n)=3 } begin if m <> n then if m > n then NWD := NWD(m - n, n) else NWD := NWD(m, n - m) else NWD := m; end;