Тема: Рекурсія. Алгоритм Евкліда
Знайти НСД(найбільший спільний дільник) двох натуральних чисел a і b за алгоритмом Евкліда. 
Остачу від ділення треба знайти через віднімання.
Ось я написав цей блок програми (пошук остачі через віднімання):
type natur=1..maxint;
procedure NSD(n,m:natur;var r:natur);
begin
if n=m then r:=n
else if n>m then NSD(n-m,m,r)
else NSD(m-n,n,r);
end;Ось написав програму, де остача від ділення знаходиться через mod.
var a, b, answer: longint;
function gcd(m, n: longint): longint;
    var modulo: longint;
    begin
        modulo := m mod n;
        if modulo = 0 then
            gcd := n
        else
            gcd := gcd (n, modulo)
    end;
 
begin
    writeln('Введіть  2 натуральних числа');
    readln(a, b);
    answer := gcd(a, b);
    writeln(answer);
    readln
end.Треба замінити пошук через mod (в коді 2) пошуком через віднімання (кодом 1)