ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

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

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

*Предприятие выпускает партии изделий. Каждая партия получает уникальный код, состоящий из \(25\) символов, среди которых могут быть заглавные латинские буквы и цифры. Все изделия в партии получают последовательные номера от \(1\) до общего числа изделий в партии. Запись о каждом изделии заносится в информационную систему. Запись содержит код изделия и некоторую дополнительную информацию. Код изделия состоит из кода партии и номера изделия в партии. Для записи кода партии используется посимвольное кодирование, каждый символ кодируется минимально возможным количеством битов. Номер изделия записывается как целое число, для записи каждого номера используется одинаковое минимально возможное количество битов. Для записи кода изделия в целом используется минимально возможное целое количество байтов. Для записи дополнительной информации о каждом изделии требуется \(140\) байт. Известно, что для хранения информации обо всех изделиях одной партии используется не более \(30\) Кбайт. Какое наибольшее количество изделий может быть в партии?

Решение:

Для кодирования одной из \(26\) букв латинского алфавита и \(10\) цифр требуется минимум \(\lceil \log_2 (26 + 10) \rceil = 6\) бит. Код партии, состоящий из \(25\) символов, будет кодироваться минимум \(25 \cdot 6\) битами. Пусть для кодирования номера изделия в партии выделено \(p\) бит. Тогда, максимальный номер изделия в партии будет \(N_{max} = 2^p - 1.\) С другой стороны, для записи кода изделия в целом потребуется $$\left\lceil \frac{25 \cdot 6 + p}{8} \right\rceil$$ байт. Пусть в партии \(N\) изделий. Тогда из условия задачи получаем, что $$N \cdot \left\lceil \frac{25 \cdot 6 + p}{8} + 140\right\rceil \leqslant 30 \cdot 2^{10}.$$ Для дальнейшего решения задачи составим программу

Python


from math import ceil, floor

arr = []
for p in range(100, 0, -1):
    Nmax = 2**p - 1
    N = floor(30 * 2**10 / (ceil((25 * 6 + p) / 8) + 140))
    arr.append(min(Nmax, N))
print(max(arr))

Ответ: \(192\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году