ЕГЭ · ЗАДАНИЕ 11
Объём информации · №29964
Серийные номера используют алфавит из 72 символов. Все символы кодируются одинаковым минимальным целым числом бит. Каждый номер хранится отдельно в минимальном целом числе байт. 5895222 номеров занимают более 24117248 байт. Найдите минимальную длину номера в символах.
Источник задания
Сначала попробуй решить самостоятельно, затем открой разбор. Для автоматической проверки ответа включи JavaScript.
Показать решение по шагам
Разбор решения
Ответ: 5
Для 72 символов нужно 7 бит на символ. Граничный размер одной записи — 5 байт. Чтобы округление дало минимум 5 байт, необходимо L·7>8·(5−1). Наименьшее L=5.Проверка: при L=5 общий объём 29476110 байт. Соседняя длина 4 уже не подходит.
A, M, limit = 72, 5895222, 24117248
i = (A-1).bit_length()
b = limit//M+1
print(8*(b-1)//i+1)