Задание №11 — Количество информации
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 7 символов и содержащий только символы из 26-символьного набора строчных латинских букв и десяти арабских цифр. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 9 байт на одного пользователя.
Определите объём памяти (в байтах), необходимый для хранения сведений о 30 пользователях. В ответе запишите только целое цисло - количество байт.
Правильный ответ
450
Пояснение
Решение:
В пароле встречаются только 26 строчных латинских букв и 10 арабских цифр, значит мощность алфавита составляет символов. На один символ нужно минимальное целое , при котором . Так как , получаем бит.
Один пароль из 7 символов занимает бита. Число байт должно быть целым и минимальным: , поэтому под него отводится 6 байт.
Кроме пароля на один пользователя отводится ещё 9 байт дополнительных сведений, поэтому одна запись занимает байт.
Для 30 пользователей потребуется байт.
import math N = 26 + 10 # мощность алфавита i = math.ceil(math.log2(N)) # бит на один символ b = math.ceil(7 * i / 8) # байт на пароль print(30 * (b + 9)) # ответ в байтахОтвет: 450