В массиве из N частей, данных случайным образом из интервала [-20;60],
В массиве из N частей, данных случайным образом из интервала [-20;60], найдите произведение всех элементов, великих 20 (pascal abc)
Задать свой вопросИз сложностей может возникнуть только генерация случайного значения. Функция 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] gt; 20 then ans:=ans*a[i];
end;
writeln(ans);
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.