var i,n,p:integer;
a:array[1..10000] of integer;
begin
p:=1;
readln(n); {Вводится количество элементов массива}
for i:=1 to n do begin readln(a[i]); p:=p*a[i]; end; {Вводится каждый элемент массива и умножается на произведение ранее введённых}
writeln(exp(ln(p)/n)); {Вывод среднего арифметического - корень степени n из произведения всех элементов массива}
end.
//PascalABC.NET
//Версия 3.3, сборка 1611
begin
write(ReadSeqIntegerWhile(x->x<>0).Where(x->x<0).Aggregate(BigInteger(1),(x,y)->(x*y)));
end.
Const
MAX = 100;
var
A: array [1 .. MAX, 1 .. MAX] of integer;
i, j, N, M: byte;
min: integer;
begin
randomize;
write(' Введите N(макс. ', MAX, ') = ');
readln(N);
write(' Введите M(макс. ', MAX, ') = ');
readln(M);
writeln(' Исходная матрица: ');
for i := 1 to N do
begin
for j := 1 to M do
begin
A[i, j] := random(100) - 50;
write(A[i, j]:6);
end;
writeln;
end;
for i := 1 to N do
begin
min := A[i, 1];
if i mod 2 = 0 then
begin
for j := 1 to M do
if A[i, j] < min then
min := A[i, j];
writeln(' Минимальный элемент ', i, ' строки = ', min);
end;
end;
end.
Правильный ответ на данный вопрос: B
Вариант с небольшой автоматизацией