Вопрос:

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

Ответ:

Решение:

Unicode кодирует каждый символ 16 битами, что равно 2 байтам. Текст «Ель, кедр, сосна, кипарис, лиственница, можжевельник — хвойные растения» содержит 7 слов, 6 запятых, 5 пробелов и тире. Всего 7 + 6 + 5 + 1 = 19 символов. После вычеркивания одного слова, одной запятой и одного пробела, размер текста уменьшился на 26 байт. Так как каждый символ в Unicode занимает 2 байта, то уменьшение на 26 байт означает, что было удалено 26 / 2 = 13 символов.

Исходный текст: «Ель, кедр, сосна, кипарис, лиственница, можжевельник — хвойные растения».

Удаление одного слова, одной запятой и одного пробела означает, что удаленное слово содержало 13 - 1 - 1 = 11 символов.

Среди перечисленных растений, слово «можжевельник» состоит из 11 букв. После его удаления, лишними становятся запятая и пробел перед ним.

Ответ: можжевельник