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