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