При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 9 символов. Из соображений информационной безопасности каждый пароль должен содержать хотя бы 1 десятичную цифру, как прописные, так и строчные латинские буквы, а также не менее 1 символа из 6-символьного набора: «&», «#», «$», «*», «!», «@». В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей.
Для хранения сведений о 20 пользователях потребовалось 500 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.
Примечание. В латинском алфавите 26 букв.
Ответ:
Демонстрационный вариант ЕГЭ 2017 г. – задание №13.
Решение:
Определим сколько нужно памяти для хранения сведений об одном пользователе
500/20 = 25 байт
Определим количество символов, которое используется в пароле.
— 10 цифр,
— 26 прописных букв латинского алфавита,
— 26 строчных букв латинского алфавита,
— 6 символов.
Таким образом, количество различных символов, которые используются в пароле равно:
10+26+26+6 = 68
Теперь определим сколько бит нужно для кодирования одного символа по формуле N=2i, где:
N — количество символов в наборе,
i — количество бит на один символ.
2n > 68 => n = 7 бит
Так как наш пароль состоит из 9 символов, то информационный объем одного пароля будет равен:
7 x 9 = 63 бит
63 / 8 = 8 байт
Теперь находим какое количество байт, выделено для хранения дополнительных сведений об одном пользователе
25 — 8 = 17 байт
Ответ: 17
