Вопрос:

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

Ответ:

UTF-16 кодирует каждый символ 16 битами, что равно 2 байтам (16 бит / 8 бит/байт = 2 байта).

Текст содержит названия фруктов, запятые и пробелы. Когда ученик вычеркнул название одного фрукта, он также удалил запятую и пробел, связанные с этим фруктом.

Уменьшение размера текста на 20 байт означает, что было удалено 20 байт / 2 байта/символ = 10 символов.

Эти 10 символов включают в себя:

  1. Название удаленного фрукта.
  2. Запятую, которая шла после фрукта (если это не последний фрукт в списке).
  3. Пробел после запятой.

Рассмотрим структуру списка: «фрукт1, фрукт2, фрукт3, ...»

Если удаляется фрукт, то удаляются:

  • Сам фрукт
  • Запятая
  • Пробел

Итого: 3 элемента удаляются для каждого фрукта, кроме, возможно, последнего.

Однако, условие гласит: «два пробела не должны идти подряд». Это означает, что после запятой всегда идет пробел, а перед следующим фруктом – тоже пробел.

При удалении фрукта, удаляется:

  • Сам фрукт
  • Запятая (,)
  • Пробел ( )

Общее количество удаленных символов: 10.

Если удаляется фрукт, то удаляются:

  • Символы названия фрукта
  • Запятая
  • Пробел

Пусть длина удаленного слова = X символов.

Тогда общее количество удаленных символов = X (фрукт) + 1 (запятая) + 1 (пробел) = X + 2.

Так как удалено 10 символов, то:

X + 2 = 10

X = 10 - 2 = 8

Таким образом, удаленное название фрукта состоит из 8 символов.

Перечислим фрукты из списка и посчитаем количество букв в каждом:

  • айва (4)
  • хурма (4)
  • яблоко (6)
  • гуарана (7)
  • апельсин (8)
  • мангостан (8)

Есть два варианта: «апельсин» и «мангостан», оба по 8 букв.

Рассмотрим случай, если удален последний фрукт «мангостан». Тогда удалилась бы запятая и пробел перед ним, и само слово.

«... апельсин, мангостан — фрукты».

Если удалили «мангостан»:

Удалено: «мангостан» (8 символов) + « — » (пробел + тире + пробел = 3 символа, если считать тире символом). Но в тексте указано «,».

«айва, хурма, яблоко, гуарана, апельсин, мангостан — фрукты».

Запятая и пробел после «мангостан» были бы удалены.

«...апельсин, мангостан — фрукты».

Если удален «мангостан»:

Символы: м, а, н, г, о, с, т, а, н (8) + запятая (1) + пробел (1) = 10 символов.

Если удален «апельсин»:

Символы: а, п, е, л, ь, с, и, н (8) + запятая (1) + пробел (1) = 10 символов.

Условие «два пробела не должны идти подряд» важно.

Исходный текст: «айва, хурма, яблоко, гуарана, апельсин, мангостан — фрукты».

Разберем структуру: [фрукт], [фрукт], [фрукт], [фрукт], [фрукт], [фрукт] — [общий термин]

Список фруктов: айва, хурма, яблоко, гуарана, апельсин, мангостан.

Если удален «апельсин»:

Исходная часть: «..., гуарана, апельсин, мангостан — ...»

Удаляем «апельсин»:

Удаляется: «апельсин» (8 символов) + запятая (1) + пробел (1) = 10 символов.

Новое предложение: «..., гуарана, мангостан — ...»

Здесь «гуарана,» и « мангостан». Запятая после «гуарана» и пробел перед «мангостан» остаются.

Если удален «мангостан» (последний фрукт в перечислении):

Исходная часть: «..., гуарана, апельсин, мангостан — ...»

Удаляем «мангостан»:

Удаляется: «мангостан» (8 символов).

Запятая и пробел после «мангостан» удаляются, если они стали лишними.

«...апельсин, — фрукты».

Тогда удаляется: «мангостан» (8) + запятая (1) + пробел (1) = 10 символов.

Если удаляется фрукт, то удаляется сам фрукт, запятая ПОСЛЕ него и пробел ПОСЛЕ запятой.

Фрукты:

  • айва (4)
  • хурма (4)
  • яблоко (6)
  • гуарана (7)
  • апельсин (8)
  • мангостан (8)

Удалено 10 символов.

X (длина слова) + 1 (запятая) + 1 (пробел) = 10

X = 8

Среди фруктов есть два слова длиной 8 символов: «апельсин» и «мангостан».

Нужно проверить, какое из них могло быть удалено, чтобы общее количество удаленных символов стало 10.

Если удален «апельсин»:

Удалено: «апельсин» (8) + запятая (1) + пробел (1) = 10 символов.

Текст становится: «айва, хурма, яблоко, гуарана, мангостан — фрукты».

В этом случае, запятая и пробел после «апельсин» были удалены, что соответствует условию.

Если удален «мангостан»:

Удалено: «мангостан» (8) + запятая (1) + пробел (1) = 10 символов.

Текст становится: «айва, хурма, яблоко, гуарана, апельсин — фрукты».

Здесь запятая и пробел после «мангостан» были удалены.

Оба варианта подходят по количеству символов. Однако, в оригинальном тексте «мангостан» перед « — фрукты».

«айва, хурма, яблоко, гуарана, апельсин, мангостан — фрукты»

Перечисление фруктов закончилось «мангостан». После него идет « — фрукты».

Если удаляется «мангостан», то удаляется:

  • «мангостан» (8 символов)
  • Запятая (,)
  • Пробел ( )

Всего: 8 + 1 + 1 = 10 символов.

Получится: «айва, хурма, яблоко, гуарана, апельсин — фрукты».

Если удаляется «апельсин», то удаляется:

  • «апельсин» (8 символов)
  • Запятая (,)
  • Пробел ( )

Всего: 8 + 1 + 1 = 10 символов.

Получится: «айва, хурма, яблоко, гуарана, мангостан — фрукты».

Оба варианта возможны. Но, возможно, есть какой-то подвох.

«два пробела не должны идти подряд».

В тексте «айва, хурма, яблоко, гуарана, апельсин, мангостан — фрукты».

После «апельсин» идет «, » (запятая и пробел).

После «мангостан» идет « — » (пробел, тире, пробел).

Если удаляем «апельсин»:

Удаляется: «апельсин» (8) + «,» (1) + « » (1) = 10 символов.

Новое предложение: «айва, хурма, яблоко, гуарана, мангостан — фрукты».

Здесь нет двух подряд пробелов.

Если удаляем «мангостан»:

Удаляется: «мангостан» (8) + «,» (1) + « » (1) = 10 символов.

Новое предложение: «айва, хурма, яблоко, гуарана, апельсин — фрукты».

Здесь тоже нет двух подряд пробелов.

Кажется, оба варианта подходят. Но обычно такие задачи имеют однозначное решение.

Посмотрим на структуру: «список фруктов — общий термин».

«айва, хурма, яблоко, гуарана, апельсин, мангостан — фрукты».

Здесь «фрукты» — это обобщающее слово.

Если удаляется «мангостан», то запятая и пробел после него, которые вели к « — фрукты», удаляются.

Удаляется: «мангостан» (8) + «,» (1) + « » (1) = 10 символов.

Получается: «айва, хурма, яблоко, гуарана, апельсин — фрукты».

Если удаляется «апельсин»:

Удаляется: «апельсин» (8) + «,» (1) + « » (1) = 10 символов.

Получается: «айва, хурма, яблоко, гуарана, мангостан — фрукты».

В обоих случаях длина удаленных символов равна 10.

Слово длиной 8 символов, плюс запятая и пробел.

«апельсин» и «мангостан» оба имеют длину 8 символов.

Скорее всего, имеется в виду, что удаляется не последний элемент списка, а один из элементов, после которого стояла запятая и пробел.

Это значит, что удаленный фрукт не был последним в списке перед « — фрукты».

Следовательно, удален «апельсин».

Ответ: апельсин

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

Похожие