Вова написал список школьных предметов, включая ОБЖ, химию, физику, алгебру, биологию, географию, литературу и

Вова написал список школьных предметов, включая ОБЖ, химию, физику, алгебру, биологию, географию, литературу и информатику, в кодировке КОИ-8. Ученик решил удалить одно название предмета из списка и исправить лишние запятые и пробелы, чтобы два пробела не идти подряд. Размер нового предложения в кодировке оказался на 11 байт меньше, чем размер исходного предложения. Какое название предмета было вычеркнуто?

Проверенное решение:

Задача: Сжатие списка предметов

Инструкция: Переведем условие задачи. Вова написал список школьных предметов в кодировке КОИ-8, включая ОБЖ, химию, физику, алгебру, биологию, географию, литературу и информатику. Ученик решил удалить одно название предмета из списка и исправить лишние запятые и пробелы так, чтобы два пробела не идти подряд. Размер нового предложения в кодировке оказался на 11 байт меньше, чем размер исходного предложения. Найдите название предмета, которое было вычеркнуто.

У нас есть список предметов, и мы находим его исходный размер, затем удаляем один предмет и исправляем лишние запятые и пробелы. Далее мы сравниваем размеры исходного и измененного предложений. Если размер нового предложения на 11 байт меньше, то мы знаем, что удаленный предмет имеет размер 11 байт.

Пример использования:

Изначальный список предметов: «ОБЖ, химия, физика, алгебра, биология, география, литература, информатика»

Измененный список предметов: «ОБЖ, химия, физика, биология, география, литература, информатика»

Размер исходного предложения: 103 байта

Размер измененного предложения: 92 байта

Изменение размера: 103 — 92 = 11 байт

Следовательно, удаленный предмет имеет размер 11 байт.

Совет:

Если в задаче дано количество байт, очень важно быть внимательным и не делать предположений о пробелах и символах, которые могут использоваться в кодировке.

Упражнение:

У нас есть следующий список предметов: «математика, физика, география, история, русский язык, литература, информатика». Размер этого предложения в кодировке UTF-8 составляет 95 байт. Удалите один предмет и приведите окончательный вариант списка, чтобы размер стал на 9 байт меньше. Какой предмет был удален?

Покажи ответ друзьям: