
В одной из кодировок UTF-32 каждый символ кодируется 32 битами. Рома написал текст (в нём нет
лишних пробелов): «Лён, алоэ, лютик, кипрей, солодка, зверобой, подсолнух, подснежник - растения». Затем он удалил название одного из растений вместе с запятой и пробеломи перед этим словом. При этом размере нового предложения в данной кодировке оказался 24 байта меньше, чем размер исходного предложения Какое слово удалил Рома???40 БАЛЛОВ 

Ответы на вопрос

Справочник:
1 байт = 8 бит
1 Кб = 1024 байт
1 Мб = 1024 Кб
1 Гб = 1024 Мб
Рассуждаем:
Нам дан какой-то закодированный текст, ага.
Далее в нём удаляют какое-то слов с пробелом и запятой, и кодировка текста уменьшается на 24 бит, в байтах это 192 (См. справочник). Разделим данное число на 32, чтобы узнать сколько символов удалилось, итого 6.
Ищем в тексте такое слово + пробел + запятая, чтобы было ровно 6 символов: алоэ.
Наш ответ: алоэ.



Давайте разберём данную задачу:
У нас есть текст: "Лён, алоэ, лютик, кипрей, солодка, зверобой, подсолнух, подснежник - растения".
Этот текст содержит 8 слов и 7 запятых, которые разделяют слова. Разделительные символы (запятые и пробелы) также занимают место в кодировке UTF-32: 4 байта на каждый символ.
Исходный размер текста (в байтах) в кодировке UTF-32 можно рассчитать следующим образом: 8 слов * (длина слова в символах * 4 байта) + 7 запятых * 4 байта = исходный размер
Теперь, Рома удалил одно из слов вместе с запятой и пробелом перед ним. При этом новый размер текста в кодировке UTF-32 стал на 24 байта меньше, чем исходный размер.
Давайте обозначим удаляемое слово за "X". Если мы удалим слово "X" вместе с запятой и пробелом перед ним, то мы сэкономим на 4 байта больше (4 байта на слово + 4 байта на запятую и пробел).
Исходно: Размер исходного текста в байтах = размер нового текста в байтах + 24 байта. Исходно: размер нового текста в байтах = размер исходного текста в байтах - 24 байта.
Так как удаление слова "X" и запятой перед ним должно сэкономить на 4 байта больше, чем 24 байта, это даст нам общую экономию в 28 байт.
Исходно: размер исходного текста в байтах - 28 байт = размер нового текста в байтах.
Исходный текст: 8 слов * (длина слова в символах * 4 байта) + 7 запятых * 4 байта = исходный размер
Рассмотрим возможные варианты:
1. Удаление слова "Лён" с запятой (4 символа + 1 запятая) - 5 * 4 байта = 20 байт. 2. Удаление слова "зверобой" с запятой (8 символов + 1 запятая) - 9 * 4 байта = 36 байт.
Так как мы ищем слово, которое сократит размер на 28 байт, из возможных вариантов только удаление слова "зверобой" с запятой даст нам нужные 36 байт - 28 байт = 8 байт, что соответствует нашей задаче.
Следовательно, слово, которое удалил Рома, это "зверобой".


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili