В 16-символьном алфавите на один символ требуется log(2)16=4 бит.
На все сообщение: 2*16*12*4 бит = 16*12 байт = 16*12/1024 Кбайт=0,1875 Кбайт
===== PascalABC.NET =====
function sogl(c: char) :=
not (c.ToUpper in ('АЕЁИОУЫЭЮЯ'));
// проверка функции
begin
var s := 'ТестируемРусскийАлфавит';
foreach var c in s do
Print(sogl(c));
end.
На самом деле все это будет правильно работать лишь если функции давать исключительно русские буквы.
раз три части, значит делением на три
3: 81
3:27
3:9
3:3.
На каждую получается по два взвешивания. и исходя из этого находим ответ - 8
Заметим, что цикл s=s-5; выполняется 11 раз. Отсюда следует, что из s вычитается 5*11=55.
100-55=45