Решение: Объём хранения пароля
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 11 символов и содержащий только десятичные цифры и символы из 26-символьного набора прописных латинских букв. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 30 пользователях потребовалось 750 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе?
Решение по шагам
4 шагаАлфавит пароля содержит 10 цифр и 26 прописных латинских букв, всего 36 символов.
$$10 + 26 = 36$$Минимальное одинаковое количество бит на один символ определяется условием $2^i \geq 36$. Получаем $i = 6$, поскольку $2^5 < 36 \leq 2^6$.
$$i = \lceil \log_2 36 \rceil = 6$$Информационный объём пароля равен 11 · 6 = 66 бит, то есть для хранения требуется 9 целых байт.
$$\left\lceil \frac{11 \cdot 6}{8} \right\rceil = 9\ \text{байт}$$На одного пользователя в среднем выделено 750 / 30 = 25 байт. Значит, на дополнительные сведения приходится 25 − 9 = 16 байт.
$$\frac{750}{30} - 9 = 25 - 9 = 16$$Где здесь ошибаются
Использовать 5 бит на символ, хотя 5 бит позволяют закодировать только 32 символа.
Не округлить объём пароля вверх до целого числа байт.
Вычесть объём пароля из общего объёма 750 байт, не разделив его на 30 пользователей.