Задание 11. Информатика. ЕГЭ. Поляков-7520

Просмотры: 71
Изменено: 10 апреля 2025

(ЕГЭ-2024) На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из \(261\) символа. Для его хранения отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения \(252~500\) серийных номеров отведено более \(31\) Мбайт памяти. Определите минимально возможную мощность алфавита, из которого составляются серийные номера. В ответе запишите только число.

Решение:

Пусть для кодирования одного символа требуется минимум \(B\) бит. Минимальная мощность алфавита тогда равна \(2^{B-1} + 1.\) Число бит \(B,\) как следует из условия задачи, удовлетворяет неравенству $$252~500 \cdot \left\lceil \frac{261 B}{8} \right\rceil > 31 \cdot 2^{20}.$$ Теперь задачу легко решить программно

Python


from math import ceil

Bmin = min([B for B in range(1, 10_000) if 252_500 * ceil(261 * B / 8) > 31 * 2**20])
print(2**(Bmin - 1) + 1)

Ответ: \(9\)