Статья Автор: Деникина Н.В., Деникин А.В.

КЕГЭ. Вопрос 11. Разбор задания - 1

Задание

При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 234 символов и содержащий только десятичные цифры и символы из 1350-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит.
Определите объём памяти (в Кбайт), необходимый для хранения 65 536 идентификаторов. В ответе запишите только целое число – количество Кбайт.
 

Решение

Для решения задачи необходимо определить, сколько битов требуется для хранения одного символа идентификатора. В центре внимания — десятичные цифры (10 символов) и специальный алфавит (1350 символов). Общее количество символов (мощность алфавита) будет равно 10 + 1350 = 1360 символов.

Чтобы узнать, сколько бит требуется для кодирования одного символа используемого алфавита, воспользуемся формулой для вычисления количества бит:
\(i = \lceil \log_2(\text{N}) \rceil\)

Где \(\lceil x \rceil\) обозначает округление числа x до ближайшего целого не меньшего \(x\).

В данном случае:
\( \text{i}_{бит} = \lceil \log_2(1360) \rceil = \lceil10.419 \rceil = 11 \text{ бит на символ} \)

Теперь для каждого идентификатора из 234 символов потребуется:

\(\text{I}_{id} = 11 \times 234 = 2574 \text{ бита}\)
Поскольку 1 байт = 8 бит, количество байт на один идентификатор будет равно:

\({\text{I}_{id}}_{байт} =\frac{2574}{8} \approx 321.75 \text{ байт}\)

Округляем до целого числа — 322 байта.

Теперь умножим количество байт на общее количество идентификаторов (65536):
\(\text{I}_{байт} = 322 \times 65536 = 21102592 \text{ байт}\)

Переведём это значение в Килобайты, где 1 Кбайт = 1024 байта:
\(\text{I}_{Кб} = \frac{21102592}{1024} = 20608 \text{ Кбайт}\)


Ответ: \(\boxed{20608}\).

Решение на языке Python


Печать