
Дан массив, содержащий неотрицательные целые числа. Если сумма всех элементов массива чётная,
нужно вывести количество нечётных (по значению) элементов массива, если нечётная – количество чётных. Например, для массива из 6 элементов, равных соответственно 2, 6, 12, 17, 3, 8, ответом будет 2 – количество нечётных элементов, так как общая сумма всех элементов чётна. Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Паскаль Const N=2000; Var a: array [1..N] of integer; i, k: integer; begin for i:=1 to N do readln(a[i]); … end.

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

Ответ:
Const N=2000;
Var a: array [1..N] of integer;
i, k: integer;
begin
for i:=1 to N do
readln(a[i]);
k:=0;
for i:=1 to N do
begin
if a[i] mod 2 = 1 then k:=k+1;
end;
if k mod 2 = 0 then writeln(k)
else writeln(N-k);
end.
Объяснение:
Значение суммы можно не вычислять, так как требуется только чётность суммы, а она однозначно определяется количеством нечётных элементов. Количество чётных элементов, если оно потребуется, можно вычислить, зная общее число элементов и количество нечётных.



Вот фрагмент программы на языке Pascal, который решает данную задачу:
pascalConst N = 2000; Var a: array [1..N] of integer; i, k: integer; sum: integer; begin sum := 0; for i := 1 to N do begin readln(a[i]); sum := sum + a[i]; end; k := 0; if sum mod 2 = 0 then begin for i := 1 to N do begin if a[i] mod 2 <> 0 then k := k + 1; end; end else begin for i := 1 to N do begin if a[i] mod 2 = 0 then k := k + 1; end; end; writeln(k); end.
В данном фрагменте мы считываем элементы массива a
, одновременно вычисляя сумму всех элементов sum
. Затем мы проверяем, является ли сумма чётной или нечётной, и в зависимости от этого увеличиваем переменную k
, считающую количество необходимых элементов. Наконец, выводим результат.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili