Задание 11. Информатика. ЕГЭ. Поляков-7418
- Просмотры: 277
- Изменено: 10 апреля 2025
(Е. Джобс) При регистрации в компьютерной системе каждому пользователю присваивается идентификатор, состоящий из \(10\) символов, и выдаётся пароль, состоящий из \(25\) символов. При кодировании идентификатора и пароля используется один и тот же набор символов. Как идентификатор, так и пароль кодируются посимвольно, каждый символ представляется с помощью минимального и одинакового для всех символов количества бит. В базе данных для хранения сведений о каждом пользователе отведено одинаковое целое число байт. Кроме идентификатора и пароля, для каждого пользователя в системе хранятся дополнительные сведения размером \(48\) байт. Для хранения сведений о \(1536\) пользователях потребовалось \(120\) Кбайт. Какое максимальное количество различных символов можно использовать для формирования идентификатора и пароля?
Решение:
На один символ в системе выделено $$\frac{120 \cdot 2^{10}}{1536} = 80$$ байт. Значит, на логин и пароль отводится \(80 - 48 = 32\) байта. В сумме логин и пароль состоят из \(35\) символов. Если каждый символ кодируется \(B\) битами, максимальное количество различных символов, которое можно использовать для формирования логина и пароля будет \(2^B.\) Из условия задачи имеем следующее ограничение на \(B:\) $$\left\lceil \frac{35 B}{8} \right\rceil \leqslant 32.$$ Дальше задачу легко решить программно
Python
from math import ceil
Bmax = max([N for N in range(1, 10_000) if ceil(35 * N / 8) <= 32])
print(2**Bmax)
Ответ: \(128\)