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