program raf105;
const
n = 35;
var
a: array[1..30] of integer;
b: array[1..40] of integer;
c: array[1..n] of integer;
i : integer;
begin
writeln('Заполните массив A');
for i:=1 to 30 do
readln(a[i]);
writeln('Заполните массив B');
for i:=1 to 40 do
readln(b[i]);
writeln('Заполните массив C');
for i:=1 to n do
readln(c[i]);
for i:=1 to 40 do
begin
if (a[i] < 0) or (b[i] < 0) then
begin
writeln('Нет');
break
end;
if c[i] < 0 then
begin
writeln('Да');
break
end;
end;
end.
PascalABC
То есть одна буква несет 3 бита информации.
Например, был алфавит а,б,в,г,д,е,ж
Нельзя каждой букве сопоставить последовательность из 2 битов, поскольку максимально возможное количество таких последовательностей равно 2^2=4, что меньше 6.
А вот 3 битами закодировать можно, например так:
а - 000
б - 001
в - 010
г - 011
д - 100
е - 101
При этом еще останется неиспользованных две последовательности: 110 и 111.
Алфавит можно кодировать и бОльшим количеством бит, но это делать незачем.