Дан массив A(n). Найти сумму элементов на чётных местах и произведение элементов, кратных 3.
Дан массив A(n). Найти сумму элементов на чётных местах и произведение элементов, кратных 3.
Ответ(ы) на вопрос:
Гость
const n=10;
var a:array[1..n] of integer;
i,s,p:integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:4);
end;
writeln;
s:=0;
p:=1;
for i:=1 to n do
begin
if i mod 2 = 0 then s:=s+a[i];
if a[i] mod 3 = 0 then p:=p*a[i];
end;
writeln('s = ',s,' p = ',p);
end.
Пример:
Исходный массив:
-4 -9 2 -2 4 6 -8 -5 7 -5
s = -15 p = -54
Гость
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),1,90);
a.Println;
Writeln('S=',a.Where((x,i)->i.IsOdd).Sum);
Writeln('П=',a.Where(x->x mod 3=0).Aggregate(1.0,(p,x)->p*x))
end.
Тестовое решение:
n= 20
67 50 13 23 55 33 54 21 86 68 70 87 87 83 90 55 7 22 27 1
S=443
П=688290496740
Не нашли ответ?
Похожие вопросы