Форум » Вычисление количества информации » №55 из 11 задания » Ответить

№55 из 11 задания

ВишневецкаяН: 55) Для регистрации на сайте необходимо продумать пароль, состоящий из 9 символов. Он должен содержать хотя бы 1 цифру, строчные или заглавные буквы латинского алфавита (алфавит содержит 26 букв) и хотя бы 1 символ из перечисленных: «.», «$», «#», «@», «%», «&». В базе данных для хранения сведения о каждом пользователе отведено одинаковое и минимальное возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственного пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт одинаковое для каждого пользователя. Для хранения сведений о двадцати пользователях потребовалось 500 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе. В ответе запишите только целое число – количество байт. Ответ 17. Помогите разобраться. Я думаю так. Если прописано, что ХОТЯ БЫ ОДИН - значит он точно 100% должен быть - ХОТЯ БЫ ОДИН!!!! значит у одного из 9-ти символов пароля вес рассчитывается исходя из мощности 10 (цифр) и тогда он весит 4 бита. Аналогично хотя бы один символ из перечисленных так же обязан быть, значит ещё один один символ из 9-ти рассчитывается исходя из мощности 6 и весит 3 бита. Остальные символы весят одинаково исходя из мощности 68 по 7 бит. Получается один пароль весит 56 бит, что в байтах 7 байт. Тогда доп сведения 25-7 = 18 байт, а не 17??????? Объясните где я не права.

Ответов - 3

cabanov.alexey: Если коротко - вы не знаете где точно будут стоять цифры или спец. символы. Поэтому исходим из того, что в любом месте может быть любой допустимый символ.

ВишневецкаяН: Да Бога ради, пусть он будет в любом месте, но он ведь точно должен быть. если для всех 9-ти символов расчёт вести исходя из мощности 68 - т. е любой из 68-ми символов, то это легко может оказаться девять букв и всё, а это не верно. Вот задача 68) Сотрудникам компании выдают электронную карту, на которой записаны их личный код, номер подразделения (целое число от 1 до 1200) и дополнительная информация. Личный код содержит 17 символов и может включать латинские буквы (заглавные и строчные буквы различаются), десятичные цифры и специальные знаки из набора @#$%^&*(). Тут всё понятно - любой из 17 символов мы выбираем исходя из мощности 71, т. е код легко может состоять из 17-ти одинаковых символов, например @@@@@@@@@@@@@@@@@ т. к нет никаких ограничений. Но в 55 задаче есть чёткое указание на то, что хотя бы один должен быть.

Поляков: ВишневецкаяН пишет: у одного из 9-ти символов пароля вес рассчитывается исходя из мощности 10 (цифр) и тогда он весит 4 бита. Аналогично хотя бы один символ из перечисленных так же обязан быть, значит ещё один один символ из 9-ти рассчитывается исходя из мощности 6 и весит 3 бита. Остальные символы весят одинаково исходя из мощности 68 по 7 бит. Представьте себе, что вы программист и вам нужно декодировать пароль, закодированный по вашему принципу: все символы имеют кодовые слова разной длины и стоят в произвольных местах.




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