Задан массив длины N. Вывести с новых строк: минимальный четный, делящийся ** 3 кол-во...

0 голосов
48 просмотров

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


Информатика (30 баллов) | 48 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// 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

(142k баллов)
0

Вы лучший:D