Найти количество соседних элементов, сумма и произведение которых чётны, но не кратны 4
Пользователь вводит последовательность из 10 целых чисел. Сохранить их в массив. Найти количество соседних элементов, сумма и произведение которых чётны, но не кратны 4. Вывести эти пары и их количество. Нужно чтобы на экран выводились подходящие пары их их количество. Пары выводятся только почему количество элементов 9, 10 де даёт поставить, а количество 0.
var
i,k: integer;
a := new integer[10];
begin
for i := 0 to 9 - 1
do
begin
a[i] := ReadlnInteger($'a[{i+1}] =');
end;
for i := 0 to 9 - 1
do
begin
if ((a[i] * a[i + 1]) mod 4 = 2) and ((a[i] + a[i + 1]) mod 4 = 2)
and ((a[i] * a[i + 1]) mod 4 <> 0) and ((a[i] + a[i + 1]) mod 4 <> 0)
then
inc(k);
writeln(a[i], ' ', a[i + 1]);
end;
writeln('Количество', k );
end.
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Цикл ввода (десять вводов) отделите от цикла проверки (девять проверок)
for i := 0 to 9 do
a[i] := ReadlnInteger($'a[{i+1}] =');
При проверке достаточно такого условия:
((a[i] * a[i + 1]) mod 4 = 2) and ((a[i] + a[i + 1]) mod 4 = 2)