В одной из кодировок каждый символ кодируется 8 битами. Вова написал текст (в нём нет лишних пробелов):
«Заяц, лев, слон, олень, тюлень, носорог, крокодил,
аллигатор – дикие животные».
Затем он вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 5 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного.
1. Посчитать размер исходного предложения в байтах.
2. Узнать размер нового предложения в байтах.
3. Определить, какие символы были вычеркнуты и убрать лишние запятые и пробелы.
4. Сравнить размеры исходного и нового предложений.
5. Определить вычеркнутое название животного.
1. Расчет размера исходного предложения в байтах:
Исходный текст: "Заяц, лев, слон, олень, тюлень, носорог, крокодил, аллигатор – дикие животные".
В одной кодировке каждый символ кодируется 8 битами.
Подсчитаем количество символов в исходном тексте (символы, включая пробелы и знаки препинания):
- Заяц - 4 символа
- , - 1 символ
- лев - 3 символа
- , - 1 символ
- слон - 4 символа
- , - 1 символ
- олень - 5 символов
- , - 1 символ
- тюлень - 6 символов
- , - 1 символ
- носорог - 7 символов
- , - 1 символ
- крокодил - 8 символов
- , - 1 символ
- аллигатор - 9 символов
- – - 2 символа (примем за 2 символа, так как это не обычное тире)
- дикие - 5 символов
- животные - 8 символов
Теперь подсчитаем общее количество символов:
4 + 1 + 3 + 1 + 4 + 1 + 5 + 1 + 6 + 1 + 7 + 1 + 8 + 1 + 9 + 2 + 5 + 8 = 72 символа
Умножим количество символов на количество битов для каждого символа:
72 * 8 = 576 бит
Чтобы перевести биты в байты, нужно разделить на 8:
576 / 8 = 72 байта
Размер исходного предложения составляет 72 байта.
2. Расчет размера нового предложения в байтах:
Задача говорит, что размер нового предложения меньше на 5 байт.
Значит, размер нового предложения будет 72 - 5 = 67 байт.
3. Убираем вычеркнутые символы и лишние пробелы:
В тексте было вычеркнуто одно животное, поэтому удаляем одно из названий животных.
Одновременно удаляем и запятую, которая идет после названия животного.
Удаляем разделитель – знак тире (2 символа).
Теперь текст выглядит так: "Заяц, лев, слон, олень, тюлень, носорог, аллигатор дикие животные".
Удаляем стоящие рядом пробелы: "Заяц,лев,слон,олень,тюлень,носорог,аллигатордикиеживотные".
4. Сравнение размеров предложений:
Размер нового предложения - 67 байт.
Размер исходного предложения - 72 байта.
67 < 72.
Размер нового предложения действительно меньше размера исходного предложения.
5. Определение вычеркнутого названия животного:
Сравниваем текст до и после удаления символов:
До: "Заяц, лев, слон, олень, тюлень, носорог, крокодил, аллигатор – дикие животные"
После: "Заяц,лев,слон,олень,тюлень,носорог,аллигатордикиеживотные"
Было вычеркнуто название "крокодил".
Ответ: вычеркнутое название животного - "крокодил".