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