Задан массив длины n. вывести с новых строк: минимальный четный, делящийся на 3 кол-во элементов, четность которых совпадает с четностью их места найти и вывести число сумма цифр которого наибольшая вывести кол-во пар, у которых левое число четно, а правое нечетно и больше первого паскаль желательно
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