Нажимая на кнопку "Задать вопрос", я даю согласие на обработку персональных данных

Задать вопрос
Задать вопрос
  • В массиве из N элементов, заданных случайным образом из промежутка [-20;60], найдите произведение всех элементов, больших 20 (pascal abc)

    • 07 April 2021
    • Ответ оставил: Wani4kaa

    Из сложностей может возникнуть только генерация случайного значения. Функция 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. Оно позволяет хранить числа до [tex]2^{31}-1[/tex]


    Код

    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.


    • НЕ НАШЛИ ОТВЕТ?
    Если вас не устраивает ответ или его нет, то попробуйте воспользоваться поиском на сайте и найти похожие ответы по предмету школьной программы: информатика.
    На сегодняшний день (22.02.2025) наш сайт содержит 16354 вопросов, по теме: информатика. Возможно среди них вы найдете подходящий ответ на свой вопрос.
  • Нажимая на кнопку "Ответить на вопрос", я даю согласие на обработку персональных данных

    Ответить на вопрос

Последние опубликованные вопросы

Некоторый алфавит состоит из 64 символов. В сообщении 60 символов. Определите информационный объем сообщения. Определите в виде эссе личный уровень владения современными информационными технологиями. Опишите имеющиеся навыки работы в: - офисных программах (текстовый редактор, табличный процессор, построит... Зачем в C++ нужна библиотека stdio.h, и какова ее функция? составить блок- схему решения выражения (23+34)*57/3 ПАСКАЛЬ. Решите задачу с помощью строк. Пользователь водит слово - мама, и букву - м. Паскаль выводит количество этих самых букв из строки, которую мы ввели , то есть 2. Еще пример: Введите слово... Дам 20 баллов! Дано логическое выражение, зависящее от 6 логических переменных: X1 ∧ ¬X2 ∧ X3 ∧ ¬X4 ∧ X5 ∧ X6 Сколько существует различных наборов значений переменных, при которых выражение истин... Спасите!!!!!!!!!!!!!!!!!!!!!!!!!!!! Таблица в Microsoft access служит для …. данных (может быть несколько) а) автоматизации ввода б) ввода в) хранения Сколько битов в 20 ниблах Спасите!!!!!!!!!!!!!!!!!!!!!!!!!!!! Таблица в Microsoft access служит для …. данных (может быть несколько) а) автоматизации ввода б) ввода в) хранения Арбуз с точки зрения агронома, покупателя, художника Расставьте по убыванию: 1 Бит, 1байт, 1Кбайт, 1Мбайт, 1Гбайт, 1Тбайт ПОМОГИТЕ ПОЖАЛУЙСТА!!!)) Вводится трехразрядное двоичное число. Перевести это число в десятичную систему счисления.
*{ message }*