Untitled

№ 8948 Джобс 02.06.2023 (Уровень: Базовый)

(Е. Джобс) При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 48 символов и содержащий только символы из 8-символьного набора: Т, А, Щ, И, М, Е, Г, Э. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 250 пользователях потребовалось 5750 байт.

Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.

Untitled

Комментарии к решению:

  1. symbols = 48 - создаем переменную symbols и присваиваем ей значение 48 (по условию - это количество символов, которое содержится в идентификаторе).
  2. alphabet = 8 - объявляем переменную alphabet и присваиваем ей значение 8 (по условию - это алфавит из которого строится идентификатор).
  3. i = 3 - создаем переменную i и присваиваем ей значение 3 (т.к. i - это вес символа, который должен соответствовать ИЛИ превышать алфавит).
  4. bit = symbols * i - вычисляем произведение symbols и i и присваиваем результат переменной bit (таким образом мы находим количество бит необходимое для одного идентификатора).
  5. byte = bit / 8 - вычисляем частное от деления bit на 8 и присваиваем результат переменной byte.
  6. all_about_user = 5750 / 250 - вычисляем частное от деления 5750 на 250 и присваиваем результат переменной all_about_user (находим все сведения об одном пользователе).
  7. dop_about_user = all_about_user - byte - вычисляем разность all_about_user и byte и присваиваем результат переменной dop_about_user. (находим дополнительные сведения об одном пользователе).
  8. print(dop_about_user) - выводим значение переменной dop_about_user.
symbols = 48
alphabet = 8
i = 3

bit = symbols * i
byte = bit / 8

all_about_user = 5750 / 250
dop_about_user = all_about_user - byte

print(dop_about_user)