Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 11. Информатика. ЕГЭ. Основная волна. Резерв. 19.06.2025
- Просмотры: 8420
- Изменено: 21 августа 2025
На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры и символы из \(17\)-символьного специального алфавита. В базе данных каждый серийный номер занимает одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения \(7~564~230\) серийных номеров требуется более \(31\) Мбайт памяти. Определите минимально возможную длину серийного номера.
Решение:
Для кодирования одного из \(10+ 17 = 27\) символов понадобится минимум \(\lceil \log_2 27 \rceil = 5\) бит. Пусть один серийный номер имеет длину \(N\) символов. Тогда под один серийный номер нужно выделить $$\left\lceil \frac{5 \cdot N}{8} \right\rceil$$ байт. Получаем следующее ограничение на \(N:\) $$\left\lceil \frac{5 \cdot N}{8} \right\rceil \cdot 7~564~230 > 31 \cdot 2^{20}.$$ Найти минимальное \(N\) легко найти программно:
Python
from math import ceil
for N in range(1, 1000):
if ceil(5 * N / 8) * 7_564_230 > 31 * 2**20:
print(N)
break
Ответ: \(7\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


