Написать программу в pascal abc для нахождения наибольшего общего делителя произвольных десяти целых двухзначных чисел с алгоритма евклиада(procedure).
// 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.
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