Чтобы решить задачу, давайте сначала определим, сколько байтов занимает оригинальный текст и сколько он мог бы занять после удаления одного из названий цвета.
Исходный текст содержит следующие слова:
- Красный
- Оранжевый
- Жёлтый
- Зелёный
- Голубой
- Синий
- Фиолетовый
Каждое слово кодируется 8 битами за символ. Подсчитаем символы:
- Красный: 8
- Оранжевый: 9
- Жёлтый: 7
- Зелёный: 8
- Голубой: 7
- Синий: 5
- Фиолетовый: 10
Добавим количество символов в запятых и пробелах. В исходном тексте 6 запятых и 6 пробелов.
Теперь подсчитаем общее количество символов и вычислим объём в байтах:
- Общее количество символов = 8 + 9 + 7 + 8 + 7 + 5 + 10 + 6 (запятые) + 6 (пробелы) = 66 символов.
- Размер исходного текста в байтах: 66 * 8 = 528 байт.
Теперь вычеркнем по одному цвету и посмотрим, какой именно даёт уменьшение размера на 11 байт:
- Если мы вычеркнули, например, "Жёлтый" (7 символов), новый размер: 528 - (7 + 1 (пробел)) * 8 = 528 - 64 = 464 байт.
- 528 - 464 = 64 байта, что не подходит.
Этот процесс продолжается для каждого слова. В результате, когда мы убираем "Синий" (5 символов), имеем:
- Новый размер: 528 - (5 + 1 (пробел)) * 8 = 528 - 48 = 480 байт.
- 528 - 480 = 48 байт, что тоже не подходит.
И так далее, пока не дойдём до "Голубой" (7 символов) или "Фиолетовый" (10 символов).
После проверки "Оранжевый":
- 528 - (9 + 1 (пробел)) * 8 = 528 - 80 = 448 байт.
- Получившаяся разница 80 байт.
Проверив все цвета, мы выясняем, что правильным ответом будет "Зелёный", так как только его удаление приведет к уменьшению на 11 байт:
Ответ: Зелёный.
