В одной из кодировок UTF-32 каждый символ кодируется 32 битами. Петя написал текст (в нем нет лишних пробелов):
«Ель, кедр, сосна, кипарис, лиственница, можжевельник — хвойные растения».
Ученик вычеркнул из списка название одного из растений. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 20 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название хвойного растения.
Для решения задачи начнем с анализа исходного текста и его размеров в кодировке UTF-32.
Исходный текст:
«Ель, кедр, сосна, кипарис, лиственница, можжевельник — хвойные растения».
1. **Определение длины исходного текста:**
Каждый символ в кодировке UTF-32 занимает 4 байта. Поэтому, чтобы посчитать общий размер текста в байтах, нам нужно узнать, сколько символов в этом тексте.
- Считаем количество символов в предложении:
- «Ель» (3),
- «,» (1),
- « кедр» (5, включая пробел),
- «,» (1),
- « сосна» (6, включая пробел),
- «,» (1),
- « кипарис» (8, включая пробел),
- «,» (1),
- « лиственница» (13, включая пробел),
- «,» (1),
- « можжевельник» (13, включая пробел),
- « —» (3, два пробела и дефис),
- « хвойные» (9, включая пробел),
- « растения» (9, включая пробел).
Считаем общее количество символов:
3 + 1 + 5 + 1 + 6 + 1 + 8 + 1 + 13 + 1 + 13 + 3 + 9 + 9 = 63 символа.
2. **Вычисление исходного размера в байтах:**
Размер текста в байтах = количество символов × 4 байта = 63 × 4 = 252 байта.
3. **Размер нового текста:**
После удаления одного названия растения и возможных лишних запятых и пробелов, новый текст стал на 20 байт меньше:
Новый размер = 252 - 20 = 232 байта.
Это соответствует количеству оставшихся символов:
232 байта / 4 байта на символ = 58 символов.
4. **Поиск возможного растения:**
Теперь мы должны определить, какое растение было удалено, чтобы уменьшить общий размер текста до 58 символов. Перечислим все растения:
- Ель (3 символа) + 1 запятая (1) = 4 символа
- Кедр (4 символа) + 1 запятая (1) = 5 символов
- Сосна (5 символов) + 1 запятая (1) = 6 символов
- Кипарис (7 символов) + 1 запятая (1) = 8 символов
- Лиственница (12 символов) + 1 запятая (1) = 13 символов
- Можжевельник (12 символов) + 1 запятая (1) = 13 символов
Поскольку удаление символа или запятой также уменьшает общий размер, давайте рассчитаем:
- Ель: 63 - 4 = 59 символов
- Кедр: 63 - 5 = 58 символов (что подходит)
- Сосна: 63 - 6 = 57 символов
- Кипарис: 63 - 8 = 55 символов
- Лиственница: 63 - 13 = 50 символов
- Можжевельник: 63 - 13 = 50 символов
5. **Заключение:**
Поскольку новое предложение содержит 58 символов, удаленное название растения — это **кедр**.
Таким образом, вычеркнутое название хвойного растения — **кедр**.