Все просто.
Если код равномерный двоичный, а мощность алфавита 26 символов, нужно подобрать такое количество бит (двоичных разрядов), чтобы оно могло вместить 26 комбинаций.
1 бит - 2 комбинации (2¹ = 2)
2 бита - 4 комбинации (2² = 4)
3 бита - 8 комбинаций (2³ = 8)
4 бита - 16 комбинаций (2⁴ = 16)
5 бит - 32 комбинации (2⁵ = 32)
Видно, что 4 бита мало, а 5 бит кодируют даже не 26, а 32 комбинации. Следовательно, под код одного символа нужо 5 бит.
А если символов 20, то в 20 раз больше. 5×20 = 100 бит. Это и есть нужная нам длина.
Все просто.
Если код равномерный двоичный, а мощность алфавита 26 символов, нужно подобрать такое количество бит (двоичных разрядов), чтобы оно могло вместить 26 комбинаций.
1 бит - 2 комбинации (2¹ = 2)
2 бита - 4 комбинации (2² = 4)
3 бита - 8 комбинаций (2³ = 8)
4 бита - 16 комбинаций (2⁴ = 16)
5 бит - 32 комбинации (2⁵ = 32)
Видно, что 4 бита мало, а 5 бит кодируют даже не 26, а 32 комбинации. Следовательно, под код одного символа нужо 5 бит.
А если символов 20, то в 20 раз больше. 5×20 = 100 бит. Это и есть нужная нам длина.
const n= ;(поставь любое положительное число, это количество элементов в массиве)
var A:array [1..n] of real; i: integer; min: real;
begin
for i:=1 to n do
begin
readln (a[i]);
writeln ('a[i', i, ']=', a[i]);
end;
min:=a[i];
for i:=1 to n do
if a[i] mod 3=0 then if a[i]<min then min:=a[i];
if (a[1]=min) and (a[1] mod 3<>0) then writeln ('Нет чисел, делящихся на 3') else writeln (min);
end.