Вопрос:

В одной из кодировок UTF-16 каждый символ кодируется 16 битами. Гриша написал текст (в нем нет лишних пробелов): «Лось, хомяк, косуля, кенгуру, капибара, бинтуронг, гиппопотам — животные». Ученик вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного.

Ответ:

Решение:

Каждый символ в кодировке UTF-16 занимает 16 бит, то есть 2 байта.

Уменьшение размера предложения на 22 байта означает, что было удалено 11 символов (22 байта / 2 байта/символ = 11 символов).

Гриша вычеркнул название одного животного и лишние запятые с пробелами. Два пробела не должны идти подряд, значит, между словами были запятые и пробелы. В исходном тексте между названиями животных стоят запятые и пробелы. Если вычеркнуть животное, то запятая перед ним и пробел после него (или наоборот) тоже удаляются.

Рассмотрим названия животных и количество символов в каждом, включая запятую и пробел, которые следуют за ним (или предшествуют ему, если это первое слово):

  • Лось (3) + , (1) + пробел (1) = 5 символов
  • Хомяк (5) + , (1) + пробел (1) = 7 символов
  • Косуля (6) + , (1) + пробел (1) = 8 символов
  • Кенгуру (7) + , (1) + пробел (1) = 9 символов
  • Капибара (8) + , (1) + пробел (1) = 10 символов
  • Бинтуронг (9) + , (1) + пробел (1) = 11 символов
  • Гиппопотам (10) + — (1) + пробел (1) = 12 символов

После вычеркивания животного и соответствующих знаков препинания (запятая и пробел, или тире и пробел) размер уменьшился на 11 символов. Нам нужно найти такое слово, которое вместе с запятой и пробелом (или тире и пробелом) занимает 11 символов.

Из списка видно, что вычеркнутое слово "бинтуронг" (9 символов) вместе с запятой и пробелом (1 + 1) составляет 9 + 2 = 11 символов.

Ответ: бинтуронг.

Подать жалобу Правообладателю