Решение во вложении
.........................
<em>// PascalABC.NET 3.2, сборка 1381 от 04.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('Длина последовательности: ');
var a:=(SeqRandom(n-1,0,1)+(-1)).ToArray; // последовательность 0 и 1
a.Println;
if a.Where(x->x>=0).Distinct.Count>1 then
Writeln('Есть отличающиеся элементы')
else Writeln('Все элементы равны')
end.
<u>Примеры</u>
Длина последовательности: 4
1 1 1 -1
Все элементы равны
Длина последовательности: 5
0 1 1 0 -1
Есть отличающиеся элементы
<em>// PascalABC.NET 3.2, сборка 1385 от 14.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
procedure NOD_NOK(a,b:integer; var NOD,NOK:integer);
begin
(var p,var q):=(a,b);
while q>0 do (p,q):=(q,p mod q);
NOD:=p; NOK:=a*b div NOD
end;
begin
var a,b,c,d:integer; Read(a,b);
NOD_NOK(a,b,c,d);
Writeln('НОД=',c,', НОК=',d)
end.
<u>Пример</u>
138 42
НОД=6, НОК=966
14336:1024=14 Кбайт
Ответ: 14