ALEXMATH

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

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

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

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

Задание 11. Информатика. ЕГЭ. Статград. 28.01.2025-2

Просмотры: 1760
Изменено: 23 марта 2025

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

Известно, что для хранения информации обо всех изделиях одной партии используется не более 90 Кбайт. Какое наибольшее количество изделий может быть в партии?

Решение:

В латинском алфавите \(26\) букв. Так как \(2^5 < 52 < 2^6,\) то для кодирования строчных и заглавных букв этого алфавите требуется минимум \(6\) бит. Всего, для кода партии необходимо \(17 \cdot 6\) бит. Пусть для записи номера изделия в партии используется \(p\) бит. Минимальное количество байт, необходимое для кодирования партии и номера изделия в этой партии плюс дополнительная информация определится как $$\left\lceil \frac{17 \cdot 6 + p}{8} + 50 \right\rceil.$$ Количество деталей в партии не должно превышать \(2^p - 1.\) С другой стороны, если в партии имеется \(k\) деталей, то должно выполняться условие $$\left\lceil \frac{17 \cdot 6 + p}{8} + 50 \right\rceil \cdot k \leqslant 90 \cdot 2^{10}.$$ Получаем следующую программу

Python


from math import ceil, floor

N = 0
for p in range(1, 100):
    k = floor(90 * 2**10 / ceil((17 * 6 + p) / 8  + 50))
    N = max(N, min(k, 2**p - 1))
print(N)

Ответ: \(1417\)

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

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

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

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

Новое видео

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

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

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

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

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