var a, b, с: integer;
begin
write('Введите два числа: ');
readln(a, b);
if a < b then с := a + 1 else с := b + 1;
repeat с := с - 1
until (a mod с = 0) and (b mod с = 0);
write('NOD = ', с)
end.
//2. Алгоритм с вычитанием (цикл while)
var a, b: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
while a <> b do
if a > b then
a := a - b
else
b := b - a;
writeln('NOD = ', a);
end.
begin
var a:=ArrRandom(ReadInteger('n='),-99,99);
a.Println;
a.SortedDescending.Println;
end.
Тестовое решение
n= 17
-38 37 -82 54 62 -28 33 37 -61 63 -66 63 -81 -63 3 38 12
63 63 62 54 38 37 37 33 12 3 -28 -38 -61 -63 -66 -81 -82