Задание №11 — Количество информации
При регистрации в компьютерной системе каждому пользователю выдаётся идентификатор, состоящий из 15 символов и содержащий только символы из 8-символьного набора: А, В, C, D, Е, F, G, H. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно идентификатора, для каждого объекта в системе хранятся дополнительные сведения, для чего отведено 24 байта на один объект.
Определите объём памяти (в байтах), необходимый для хранения сведений о 20 объектах. В ответе запишите только целое число — количество байт.
Правильный ответ
600
Пояснение
Решение:
Идентификатор набирается из 8-символьного набора А, В, C, D, Е, F, G, H, значит мощность алфавита составляет символов. Алфавит содержит ровно символов, поэтому на один символ достаточно бита.
Один идентификатор из 15 символов занимает бит. Число байт должно быть целым и минимальным: , поэтому под него отводится 6 байт.
Кроме идентификатора на один объект отводится ещё 24 байта дополнительных сведений, поэтому одна запись занимает байт.
Для 20 объектов потребуется байт.
import math N = 8 # мощность алфавита i = math.ceil(math.log2(N)) # бит на один символ b = math.ceil(15 * i / 8) # байт на идентификатор print(20 * (b + 24)) # ответ в байтахОтвет: 600