Вопрос:

Задача 2: В кодировке UTF-32 каждый символ кодируется 32 битами. Саша написал текст (в нем нет лишних пробелов): «Мята, тыква, фасоль, артишок, патиссон, лагенария - овощи». Ученик вычеркнул из списка название одного из овощей. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 28 байтов меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название овоща.

Ответ:

Решение: 1. Определяем количество символов в вычеркнутом слове, включая запятую и пробел. Так как размер уменьшился на 28 байт, а каждый символ в UTF-32 кодируется 4 байтами (32 бита), то было удалено 28 / 4 = 7 символов. 2. Перебираем слова, чтобы найти слово, которое вместе с запятой и пробелом содержит 7 символов: * Мята - 4 символа * Тыква - 5 символов * Фасоль - 6 символов * Артишок - 7 символов * Патиссон - 8 символов * Лагенария - 9 символов После каждого слова идет запятая и пробел, которые также нужно считать: ", " - 2 символа. 3. Проверяем слова на соответствие: * Мята, -> 4 + 2 = 6 * Тыква, -> 5 + 2 = 7 * Фасоль, -> 6 + 2 = 8 * Артишок, -> 7 + 2 = 9 * Патиссон, -> 8 + 2 = 10 * Лагенария, -> 9 + 2 = 11 Не сходится. Где-то ошибка. Рассмотрим более внимательно условие. Нам говорят, что было удалено 28 байтов. Поскольку кодировка UTF-32, это 28 / 4 = 7 символов. Из списка удален один овощ, а также запятая и пробел после него. Ищем слово, которое вместе с запятой и пробелом дает 7 символов. * Мята, -> 4 + 2 = 6 символов. * Тыква, -> 5 + 2 = 7 символов. * Фасоль, -> 6 + 2 = 8 символов. * Артишок, -> 7 + 2 = 9 символов. * Патиссон, -> 8 + 2 = 10 символов. * Лагенария, -> 9 + 2 = 11 символов. Таким образом, удалено слово "Тыква". Ответ: Тыква
Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие