Информатика СРОЧНО ЗАДАЧА
В одной из кодировок UTF8 каждый символ кодируется 24 битами. Ваня написал текст (в нем нет лишних пробелов):
«Лев, тигр, ягуар, гепард, пантера, ягуарунди — кошачьи».
Ученик вычеркнул из списка название одного из представителей семейства кошачьих. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 18 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название представителя семейства кошачьих.
Тигр
Лев, тигр, ягуар, гепард, пантера, ягуарунди»— кошачьи
Дано:
i=24 бит
I=18 байт
k=?
Решение
i=24 бит = 3 байта
I=k*i
k=I/i
k=18/3=6 символов
Вычтем один символ пробела и один символ запятой.
K=6-1-1=4 символов название животного
Из 6 символов состоит только слово «тигр».
Ответ: тигр
Задачка дурацкая. Начать с того, что UTF8 и есть кодировка и никакая логика этого не изменит. А закончить условием самой задачи.
Но всё же решение есть:
Чтобы решить эту задачу, нам нужно определить, какое название удалено, приведшее к уменьшению размера сообщения на 18 байт в кодировке UTF-8, где каждый символ занимает 24 бита, или 3 байта.
Сначала выясним общее количество символов, которое было удалено. Так как каждый символ кодируется 3 байтами, то для уменьшения на 18 байт необходимо удалить 18 / 3 = 6 символов.
Теперь нужно проверить список названий и найти такое, которое содержит 6 символов без учета запятых и пробелов, которые также были удалены. Проанализируем каждое название:
- Лев: 3 символа
- Тигр: 4 символа
- Ягуар: 5 символов
- Гепард: 6 символов
- Пантера: 7 символов
- Ягуарунди: 10 символов
Из этого списка только слово "Гепард" подходит под условие, так как оно состоит из 6 символов. Таким образом, Ваня вычеркнул слово "Гепард" из текста.
Тигр
вычеркнутое название "пантера".