(О. Лысенков) Петя кодирует сообщение, при этом он использует алфавит из \(33\) символов, одними из которых являются «:», «)» и «😊». Он знает, что в сообщении будет всего \(1000\) символов, среди которых символ «😊» встретится \(15\) раз. Компьютер Пети для хранения сообщения отводит минимально возможное количество бит, каждый символ кодируется с помощью минимального количества бит. Но Пете этого мало, и он хочет сэкономить память по максимуму, поэтому ему пришла на ум идея взамен этого алфавита использовать алфавит из \(32\) символов, заменив «😊» на сочетание символов «:» и «)», получив соответственно «:)». К сожалению, Петя, плохо знает информатику, поэтому просит у вас помощи. Помогите ему понять, что выгоднее: использовать алфавит из \(33\) символов (способ А) или же алфавит из \(32\) символов, заменив все «😊» на «:)» (способ Б)? Напишите букву А, если выгоднее способ А, или букву Б, если способ Б; после буквы укажите, на сколько битов сообщение, закодированное выбранным способом, будет короче другого варианта. Например, если способ А выгоднее и позволяет сэкономить \(35\) бит, то в ответе необходимо записать А\(35.\)
Решение:
При использовании алфавита из \(33\) символов потребуется минимум \(\lceil \log_2 33 \rceil = 6\) бит для кодирования одного из символов. Соответственно, сообщение из \(1000\) знаков будет иметь объём \(6\cdot 1000 = 6000\) бит. Это вариант А. Если же использовать \(32\)-символьный алфавит, то для кодирования одного символа потребуется уже \(\log_2 32 = 5\) бит. При этом сообщение увеличится на \(15\) символов. Объём такого сообщения будет \(5 \cdot 1015 = 5075\) бит. Это вариант Б. Видно, что второй вариант лучше и сообщение меньше на \(925\) бит, по сравнению с вариантом А.
Ответ: Б\(925\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене