// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function Sod(x:integer):integer;
begin
x:=abs(x); Result:=0;
while x>0 do begin
Result+=x mod 10;
x:=x div 10
end
end;
begin
var a:=ArrRandom(ReadInteger('n='),1,999);
a.Println;
Write('Минимальный четный, делящийся на три: ');
var b:=a.Where(x->(x mod 3=0) and x.IsEven);
if b.Count>0 then Writeln(b.Min)
else Writeln('не существует');
Write('Количество элементов с четностью, как у их места: ');
Writeln(a.Where((x,i)->(x mod 2)=((i+1) mod 2)).Count);
Write('Число, сумма цифр которого наибольшая: ');
var i:=a.Select(x->Sod(x)).ToArray.IndexMax;
Writeln(a.ElementAt(i));
Write('Искомое количество пар: ');
Writeln(a.Pairwise.Where(x->x[0].
IsEven and x[1].IsOdd and (x[1]>x[0])).Count);
end.
Тестовое решение:
n= 15
707 351 221 748 296 205 182 714 849 76 281 53 354 46 217
Минимальный четный, делящийся на три: 354
Количество элементов с четностью, как у их места: 9
Число, сумма цифр которого наибольшая: 849
Искомое количество пар: 3