1-е изображение 200*400*1=80000 бит
2-е изображение 100*200*2=40000 бит
Объем памяти занимаемый 1ым изображением в 2 раза больше объема 2ого изображения. Т.к. первое изображение больше в 4 раза, но число цветов палитры меньше в 2 раза.
Только для 7, т.к рассмотрим вторую скобку без инверсии
7 0
9 1
11 1
12 1
Инверсия даст (1 0 0 0) (записала по горизонт., чифры соответствуют 7,9 11,12)
В первой скобке с учетом инверсии получ-ся (1 0 0 0), перемножаем, получаем 1 только в одной строке - напротив 7
Сначала переведем 40 в двоичную для этого будем делить пока не останется единица
40 /2
-40 ---20/2
0 -20---10/2
0 -10---5/2
0 -4---2/2
1 -2---1
0
После этого с правой стороны получаем число по остаткам от деления
Получилось число 101000 в двоичной системе
52 так легко не перервести, поэтому сначала переведем в десятичную,а
для этого будем умножать
2*8(0)степени+5*2(1)степени=2+40=42(в десятичной)
Теперь опять в двоичную переводим
42/2
-42---21/2
0 -20 ---10/2
1 -10---5/2
0 -4---2/2
1 -2 ---1
0
Получилось 101010
А теперь сравниваем с ответами : подходит 3) 101000<101001<101010
Заведём ещё один массив и будем в него записывать, правда ли, что в массиве есть элементы, равные данному, и текущий элемент - первый из них. Затем выведем все элементы, для которых это оказалось правдой.
Pascal
var
i, j, n: integer;
flag: boolean;
a: array[1..10000] of integer;
b: array[1..10000] of boolean;
begin
read(n);
for i := 1 to n do
begin
read(a[i]);
b[i] := true;
end;
b[n] := false;
for i := 1 to n - 1 do
if b[i] then
begin
flag := true;
for j := i + 1 to n do
if a[i] = a[j] then
begin
flag := false;
b[j] := false;
end;
if flag then
b[i] := false;
end;
for i := 1 to n do
if b[i] then
write(a[i], ' ');
end.