Вопрос задан 13.04.2021 в 17:15. Предмет Информатика. Спрашивает Скрипкин Андрей.

Дан массив, содержащий 2016 положительных целых чисел, не превышающих 1000. Необходимо найти и

вывести максимальный из тех элементов этого массива, чётность которых совпадает с чётностью произведения всех элементов. Например, в массиве из шести элементов, равных соответственно 2, 3, 1, 5, 6, 4, произведение всех элементов чётно, значит, ответом будет максимальный чётный элемент, то есть 6. Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. Pascal. Const. N=2016; Var a:array[1..N] of integer; I,m,k:integer; Begin For I:=1 to N do readln (a[i]); ... End.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Пономарёва Анастасия.
Const
    n = 2016;

var
    a: array[1..n] of integer;
    i, m, k: integer;

begin
    randomize;
    m := 1;
    for i := 1 to n do
    begin
        a[i] := random(1000);
        m := m * a[i] mod 2;
//        write(a[i], ' ');
    end;
    
    k := -1;
    for i := 1 to n do
        if (a[i] mod 2 = m) and (a[i] > k) then
            k := a[i];
    
    writeln(k);
end.

ответ примерно будет одинаковым, так как очень много цифр в массиве
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот решение задачи на языке Pascal:

less
Const N = 2016; Var a: array[1..N] of integer; i, m, k: integer; Begin // Читаем массив For i := 1 to N do readln(a[i]); // Инициализируем переменные m := 0; // максимальный элемент k := 1; // произведение элементов // Вычисляем произведение элементов массива For i := 1 to N do k := k * a[i]; // Ищем максимальный элемент с соответствующей четностью For i := 1 to N do If (a[i] mod 2 = k mod 2) and (a[i] > m) Then m := a[i]; // Выводим результат writeln(m); End.

Программа читает массив из стандартного ввода и затем находит максимальный элемент, удовлетворяющий условию задачи. Для этого вычисляется произведение всех элементов массива и проверяется четность каждого элемента. Если четность элемента совпадает с четностью произведения, и элемент больше текущего максимального элемента, то он становится новым максимальным элементом. Наконец, программа выводит найденный максимальный элемент.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос