PascalABC.NET 3.0, сборка 1110
procedure Euclid(a,b:integer; var gcd:integer);
var
t:integer;
begin
while b<>0 do begin
a:=a mod b;
t:=b; b:=a; a:=t
end;
gcd:=a
end;
var
i,a,b,c:integer;
begin
Randomize;
for i:=1 to 10 do begin
a:=Random(99)+1;
b:=Random(99)+1;
Euclid(a,b,c);
Writeln('НОД(',a,',',b,')=',c)
end
end.
Тестовое решение:
НОД(32,68)=4
НОД(80,68)=4
НОД(36,19)=1
НОД(4,61)=1
НОД(46,72)=2
НОД(55,53)=1
НОД(75,76)=1
НОД(27,96)=3
НОД(98,82)=2
НОД(46,23)=23