Дан массив, содержащий 30 положительных целых чисел, не превышающих 15 000. Необходимо найти минимальный элемент, двоичная запись которого заканчивается не более чем двумя нулями, уменьшить все чётные элементы массива, превышающие найденный минимум, на величину этого минимума и вывести изменённый массив. Если в массиве нет элементов, двоичная запись которых заканчивается не более чем двумя нулями, нужно вывести массив без изменений.
Например, для массива из шести элементов, равных 12, 13, 8, 19, 10, 14,
нужно получить и вывести массив, содержащий числа 2, 13, 8, 19, 10, 4.
Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Python
# допускается также использовать
# целочисленные переменные j, k
a = []
N = 30
for i in range(0, N):
a.append(int(input()))
...
const
nn=100;
var
a:array[1..nn] of integer;
p,s:longint;
i,n:byte;
begin
Write('Введите количество элементов в массиве: '); Read(n);
Writeln('Вводите целочисленные элементы массива через пробел');
s:=0; p:=1;
for i:=1 to n do begin
Read(a[i]);
if i mod 2 = 0 then p:=p*a[i];
s:=s+a[i]
end;
Writeln('Произведение элементов с четными номерами: ',p);
Writeln('Среднее арифметическое элементов: ',s/n)
end.
Тестовое решение:
Введите количество элементов в массиве: 10
Вводите целочисленные элементы массива через пробел
-4 6 11 8 12 21 7 13 9 -15
Произведение элементов с четными номерами: -196560
Среднее арифметическое элементов: 6.8