Задание 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\)