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

0 голосов
70 просмотров

Дан массив, содержащий 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.


Информатика (15 баллов) | 70 просмотров
0

в программе записан ввод массива с клавиатуры. В условии задачи -этого нет. Это просто не под силу 2016 раз прописывать значения. Const N=2016;Var a:array[1..N] of integer;I,m,k:integer;BeginFor I:=1 to N doa[i]:= random(1000);End.

0

должно быть так.

Дан 1 ответ
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.

ответ примерно будет одинаковым, так как очень много цифр в массиве

(53.1k баллов)