Решите, пожалуйста, задачу с дано:
для регистрации на сайте необходимо продумать пароль, состоящий из 10 символов. Он должен содержать хотя бы 3 цифры, а также строчные или заглавные буквы латинского алфавита (алфавит содержит 26 букв). В базе данных для хранения сведения о каждом пользователе отведено одинаковое и минимальное возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственного пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт одинаковое для каждого пользователя. Для хранения сведений о 30 пользователях потребовалось 870 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе. В ответе запишите только целое число – количество байт.
Answers & Comments
Verified answer
Дано:N=26*2+10=62 символа
кол-во пользователей - 30
Всего байт - 870 байт
кол-во символов на один пароль - 10 символов
Решение:
воспользуемся формулой N=2^i, где N - кол-во символов в алфавите, i - информационная емкость одного символа(кол-во бит на 1 символ)
тогда:
62=2^i
ищем ближайшие степени двойки:
2^5=32
2^6=64
берем 2^6, так как в 2^5 не влезет 62 символа.
в итоге i=6 бит
определим кол-во бит на один пароль:
6*10=60
переведем в байты, округляя в большую сторону:
60/8=7,5≈8 байт
определим кол-во байт на 1 пользователя:
870/30=29 байт
из этих 29 байт 8 байт отведено на пароль, остальное - дополнительные сведения.
тогда: 29-8=21 байт - дополнительные сведения
Ответ: 21