На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из \(124\) символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения \(351~627\) серийных номеров отведено более \(41\) Мбайт памяти. Определите минимально возможную мощность алфавита, используемого для записи серийных номеров. В ответе запишите только целое число.
Решение:
Пусть для кодирования одного символа используется \(n\) бит. Тогда минимальная мощность алфавита \(P = 2^{n-1} + 1.\) Получаем следующее ограничение $$351~627 \cdot \left\lceil \frac{124 \cdot n}{8} \right\rceil > 41 \cdot 2^{20}.$$ Чтобы найти \(n\) и \(P,\) напишем программу
Python
from math import ceil
for n in range(1, 100):
if 351_627 * ceil(124 * n / 8) > 41 * 2**20:
print(2**(n-1) + 1)
break
Ответ: \(129\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене