Контрольные задания > В одной из кодировок UTF-16 каждый символ кодируется 16 битами. Гриша написал текст (в нем нет лишних пробелов):
«Бобр, белка, суслик, мышовка, выхухоль, тушканчик – млекопитающие».
Ученик вычеркнул из списка название одного из млекопитающих. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 16 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название млекопитающего.
Вопрос:
В одной из кодировок UTF-16 каждый символ кодируется 16 битами. Гриша написал текст (в нем нет лишних пробелов):
«Бобр, белка, суслик, мышовка, выхухоль, тушканчик – млекопитающие».
Ученик вычеркнул из списка название одного из млекопитающих. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 16 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название млекопитающего.
Ответ:
Разберемся с задачей.
1. Исходное предложение: «Бобр, белка, суслик, мышовка, выхухоль, тушканчик – млекопитающие».
2. Каждый символ в UTF-16 кодируется 16 битами, что составляет 2 байта (16 бит / 8 бит/байт = 2 байта).
3. Удаление слова и лишних знаков привело к уменьшению размера на 16 байт.
4. Следовательно, удаленное слово вместе с запятой/пробелом занимало 16 байт / 2 байта/символ = 8 символов.
Теперь посмотрим на слова в предложении и посчитаем количество символов в каждом слове вместе с запятой и пробелом (если они есть):
* Бобр, - 5 символов (4 + 1)
* белка, - 6 символов (5 + 1)
* суслик, - 7 символов (6 + 1)
* мышовка, - 8 символов (7 + 1)
* выхухоль, - 9 символов (8 + 1)
* тушканчик – 11 символов (9 + 2)
* млекопитающие - 14 символов
Слово "мышовка," содержит 8 символов. Следовательно, было вычеркнуто слово мышовка.
Ответ: мышовка