Из сложностей может возникнуть только генерация случайного значения. Функция random(x) возвращает случайное число от 0 до x-1. Когда функция возвращает 0 (минимальное значение), нам нужно, чтобы оно превратилось в 20. Будем отнимать 20 от значения функции random(x):
a[i] := random(x) - 20;
Самое большое число, которое мы хотим получить - 60. Так как мы отнимаем 20, самое большое число, которое должна вернуть функция random(x) равно 80. Значит, x равен 81:
a[i] := random(81) - 20;
Кстати, произведение может получаться слишком большим, а тип данных integer может хранить числа не больше 32767. Поэтому мы должны хранить произведение как longint. Оно позволяет хранить числа до
Из сложностей может возникнуть только генерация случайного значения. Функция random(x) возвращает случайное число от 0 до x-1. Когда функция возвращает 0 (минимальное значение), нам нужно, чтобы оно превратилось в 20. Будем отнимать 20 от значения функции random(x):
a[i] := random(x) - 20;
Самое большое число, которое мы хотим получить - 60. Так как мы отнимаем 20, самое большое число, которое должна вернуть функция random(x) равно 80. Значит, x равен 81:
a[i] := random(81) - 20;
Кстати, произведение может получаться слишком большим, а тип данных integer может хранить числа не больше 32767. Поэтому мы должны хранить произведение как longint. Оно позволяет хранить числа до
Код
var
a: array[1..1000] of integer;
i, n: integer;
ans: longint;
begin
read(n);
ans:=1;
for i:=1 to n do
begin
a[i]:=random(81)-20;
if a[i] > 20 then ans:=ans*a[i];
end;
writeln(ans);
end.