Форум » Вычисление количества информации » #11-(P-08) » Ответить

#11-(P-08)

aidd: Р-08. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 11 символов. Из соображений информационной безопасности каждый пароль должен содержать хотя бы 2 десятичных цифры, как прописные, так и строчные латинские буквы, а также не менее 2-х символов из 6-символьного набора: «&», «#», «$», «*», «!», «@». В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 30 пользователях потребовалось 900 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт. Решение: 1) если бы мы знали точно, сколько цифр и сколько специальных символов содержит пароль и где точно они расположены, можно было бы использовать «раздельное» кодирование: на кодирование цифр использовать по 4 бита (24 > 10), на кодирование спецсимволов – по 3 бита (23 > 6), а на кодирование остальных символов (латинских букв) – по 6 бит (26 > 26•2=52) 2) поскольку количество и месторасположение цифр и спецсимволов а пароле неизвестно, нужно рассматривать полный набор символов: 10 + 6 + 26•2 = 68 3) при этом на каждый символ нужно выделить 7 бит (27 > 68) 4) на 11 символов пароля выделяется 77 бит, округляя вверх до целого числа байт получаем 10 байт (80 бит) на пароль 5) на одного пользователя выделяется 900 : 30 = 30 байт 6) на дополнительную информацию остается 30 – 10 = 20 байт 7) ответ: 20. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Почему в 4 пункте нужно округлять кол-во бит? В задаче ведь это не указано Если составить уравнение: 30*((77 + x) / 8) = 900, получится что x = 20.375, и тогда ответ будет 21, а не 20.

Ответов - 1 новых

cabanov.alexey: (77+x)/8 = 30 77+x = 240 x = 163 бита ЦЕЛЫХ Байт помещается только 20



полная версия страницы