В одном из вариантов кодировки Unicode каждый символ кодируется 16 билетами. определите информационный объем сообщения из 300 символов в этой кодировке. дайте ответ в байтах быстрее
// PascalABC.Net 3.0, сборка 1066 var s, wd: string; n, pt: integer;
begin Write('Введите строку: ');Readln(s); n := Length(s); pt := 1; repeat // Пропускаем все символы до первого непробельного while pt <= n do if s[pt] = ' ' then Inc(pt) else break; if pt <= n then begin // Выделяем очередное слово wd := ''; while pt <= n do if s[pt] <> ' ' then begin wd := wd + s[pt]; Inc(pt) end else break; if (wd <> '') and (LowCase(wd[1]) in ['м'..'я']) then Writeln(wd) end until pt > n; end.
Тестовое решение: Введите строку: **А роза упала на лапу Азора ** роза упала на
А вот так версия 3.0 позволяет решить задачу "по-современному":
// PascalABC.Net 3.0, сборка 1066 begin var s:=ReadString('Введите строку: '); Writeln('Результат: ',s.ToWords(' ').Where(x->x[1] in ['м'..'я'])) end.
Наверное не билетами, а битами
если так, то переведем биты в байты
8 бит = 1 байт
16 бит = 2 байта
т.к 1 символ = 2 байта, то 300*2=600 байт
ответ 600 байт.