Дан массив А (120), заполненный трехзначными случайными числами. Найти произведение тех элементов, которые принадлежат отрезку (30,60) и сумму тех элементов, которые кратны 6. ПАСКАЛЬ
writeln('Произведение элементов принадлежащих [30,60]: ',abs(B));
writeln('Сумма элементов кратных 6: ',N.FindAll(x -> x mod 6 = 0).Sum);
end.
Примечание:
1) Для записи числа использован biginteger - динамическая ячейка числа, единственная, в которую можно поместить полученный ответ
2) Сумма элементов кратных 6 находится функцией .Sum примененной к массиву, полученному от функции .FindAll
3) FindAll проверяет заданный массив по восходящему параметру, т.е. каждая следующая ячейка при проверке обозначается как некая переменная (в данном случае, как х) до знака "->", а после к ней применяется выражение (x mod 6 = 0 - т.е. элемент при делении на 6 не должен иметь остатка)
begin
var N:array of integer;
setlength(n,120);
N.FillRandom(100,999);
var b:BigInteger:=1;
for var L:=30 to 60 do
begin
b:=b*N[L];
end;
writeln('Произведение элементов принадлежащих [30,60]: ',abs(B));
writeln('Сумма элементов кратных 6: ',N.FindAll(x -> x mod 6 = 0).Sum);
end.
Примечание:
1) Для записи числа использован biginteger - динамическая ячейка числа, единственная, в которую можно поместить полученный ответ
2) Сумма элементов кратных 6 находится функцией .Sum примененной к массиву, полученному от функции .FindAll
3) FindAll проверяет заданный массив по восходящему параметру, т.е. каждая следующая ячейка при проверке обозначается как некая переменная (в данном случае, как х) до знака "->", а после к ней применяется выражение (x mod 6 = 0 - т.е. элемент при делении на 6 не должен иметь остатка)