Дана последовательность чисел a i (i=1,2.,N) подсчитать произведение и количество четных...

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

Дана последовательность чисел a i (i=1,2.,N) подсчитать произведение и количество четных чисел вывести их значения и порядковые номера


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

// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
  // Формируем массив A случайных чисел и выводим его
  var a:=ArrRandom(ReadInteger('n='),1,50); a.Println;
  // Формируем последовательность кортежей s из четных элементов A
  var s:=a.Select((x,i)->Rec(x,i+1)).Where(x->x.Item1.IsEven);
  Write('Четные элементы: ');
  s.Select(x->x.Item1+'['+x.Item2+']').Println;
  Write('Их количество равно ',s.Count,', произведение равно ',
    s.Select(x->x.Item1).Aggregate(1.0,(p,i)->p*i))
end.

Тестовое решение:
n= 15
6 28 32 37 21 34 37 24 1 22 21 16 10 1 2
Четные элементы: 6[1] 28[2] 32[3] 34[6] 24[8] 22[10] 16[12] 10[13] 2[15]
Их количество равно 9, произведение равно 30883184640

(142k баллов)