Задание 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\)