Var n, m, k, i: integer; f:boolean;
Function s(a:integer):boolean;
Var i:integer;
Begin
s:=false;
For i:=2 to a div 2 do
if a mod i=0 then s:=true;
End;
Begin
Write('n = ');
Readln(n);
Write('m = ');
Readln(m);
If mi:=1; f:=s(i);
while (i begin
i:=i+1;
if (m mod i=0)and(n mod i=0) then f:=s(i);
end;
if f then writeln('НОД = ', i) else writeln('Нет требуемого делителя');
End.
Пример:
n = 42
m = 105
НОД = 21