Задание 11 ЕГЭ: объём памяти для хранения номеров
Объём памяти для хранения номеров и паролей. Тема номера — информационный объём и мощность алфавита. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.
Пример
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 28 символов. Используется алфавит из 2335 различных символов. В базе данных для хранения сведений о каждом изделии отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование серийных номеров, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно серийного номера, для каждого изделия в системе хранятся дополнительные сведения, для чего отведено одинаковое для всех целое число байт.
Для хранения сведений о 98 изделиях потребовалось 5096 байт. Сколько байт выделено для хранения дополнительных сведений об одном изделии? В ответе запишите только целое число — количество байт.
Ответ
10Решение
На сведения об одном изделии приходится 5096 / 98 = 52 байт.
Мощность алфавита: 2335. На символ — 12 бит, номер занимает ⌈28 · 12 / 8⌉ = 42 байт.
Дополнительные сведения: 52 − 42 = 10 байт.
import math
per_item = 5096 * 1 // 98 # байт на одного
bits = math.ceil(math.log2(2335))
per_code = math.ceil(28 * bits / 8)
print(per_item - per_code)