Как решать задание 11 ЕГЭ по информатике (объём информации, логины)?
Задание 11 про логины и пароли: сколько бит/байт нужно на хранение, если в логине столько-то символов из такого-то алфавита. Постоянно путаюсь с битами и округлением. Как считать объём логинов на ЕГЭ?
2 ответа
Задание 11 — расчёт памяти на хранение логинов/паролей/номеров из символов заданного алфавита.
Ключевая формула:
бит на 1 символ = ⌈log₂(N)⌉ — округление ВВЕРХ до целого, где N — мощность алфавита.
бит на весь логин = (бит на символ) × (длина логина), затем при необходимости в байты: делим на 8 и округляем вверх до целого числа байт.
Пример: алфавит из 30 символов, логин 12 знаков.
- log₂30 ≈ 4.9 → округляем вверх → 5 бит на символ.
- 5 × 12 = 60 бит на логин.
- 60 / 8 = 7.5 → округляем вверх → 8 байт на логин.
Если спрашивают на K пользователей — умножаешь объём одного логина на K.
Главные ошибки (тут теряют баллы постоянно):
- не округлять log₂ вверх до целого: 4.9 бит «не бывает», берём 5;
- округлять байты вниз: 7.5 байт нельзя, нужно 8 (целое число байт);
- спутать «бит на символ» и «байт на символ».
Запомни: оба округления — ВВЕРХ. Сначала бит/символ вверх, потом байт вверх. Алгоритм короткий, но числовая дисциплина решает.
Проверь логику на степенях двойки: для алфавита 32 символа ровно 5 бит (2^5=32), для 33 символов уже 6 бит. То есть берёшь ближайшую степень двойки не меньше N — её показатель и есть число бит на символ.
И помни про двойное округление вверх: сначала бит на символ, потом, переводя в байты, тоже вверх. Дробных бит и байт в этом задании не существует.