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