Контрольные задания > 1 (№ 1081) В одной из кодировок Unicode каждый символ кодируется 16 битами. Вова написал текст (в нём нет лишних пробелов): «Заяц, волк, хорёк, суслик, лама, медведь, гиена, аллигатор – дикие животные». Затем он вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы - два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного.
Вопрос:
1 (№ 1081) В одной из кодировок Unicode каждый символ кодируется 16 битами. Вова написал текст (в нём нет лишних пробелов): «Заяц, волк, хорёк, суслик, лама, медведь, гиена, аллигатор – дикие животные». Затем он вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы - два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного.
Unicode-кодировка использует 16 бит (2 байта) на символ.
Изначально в предложении 6 животных.
После удаления одного животного, запятых и лишних пробелов, размер сообщения уменьшился на 22 байта.
Это означает, что удалено 22 байта / 2 байта/символ = 11 символов.
Подсчитаем количество символов в названиях животных:
Заяц: 4
Волк: 4
Хорёк: 5
Суслик: 6
Лама: 4
Медведь: 7
Гиена: 5
Аллигатор: 9
В исходном тексте между словами были запятые и пробелы. Убирая лишние запятые и пробелы, мы убираем 10 символов (9 запятых + 1 пробел после последнего животного).
Следовательно, удаленное слово должно состоять из 11 (общее удаление) - 10 (запятые и пробелы) = 1 символа.
Однако, такого животного в списке нет. Давайте пересчитаем.
Если убрать одно животное, то убираются его название, одна запятая и один пробел после него.
Разница в 22 байта означает, что удалено 11 символов.
Размер слова + запятая + пробел = 11 символов.
Перечислим слова и их длину, а также длину с запятой и пробелом:
Заяц (4) + , + пробел (1) = 5 символов
Волк (4) + , + пробел (1) = 5 символов
Хорёк (5) + , + пробел (1) = 6 символов
Суслик (6) + , + пробел (1) = 7 символов
Лама (4) + , + пробел (1) = 5 символов
Медведь (7) + , + пробел (1) = 8 символов
Гиена (5) + , + пробел (1) = 6 символов
Аллигатор (9) + , + пробел (1) = 10 символов
Мы ищем удаленное слово, размер которого + 1 (запятая) + 1 (пробел) = 11 символов.
Таким образом, длина удаленного слова = 11 - 1 - 1 = 9 символов.