Давайте по очереди решим задачу:
Дано:
Текст:
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Реми, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок»
Удалено имя одного героя мультфильма, а также запятая и пробел рядом с ним.
Размер исправленного предложения стал на 28 байт меньше исходного.
Каждая буква или символ занимает 2 байта (16 бит).
Задача:
Найти удалённое имя героя.
Шаг 1: Посчитаем исходный размер текста
Считаем, сколько символов в исходной фразе.
Исходный фрагмент:
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Реми, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок»
- Основная часть текста (без перечисленных имён):
«Мои любимые герои мультфильмов: » — подсчитаем количество символов.
Подсчёт символов для этой части:
- "Мои любимые герои мультфильмов:" — это 34 символа (учитываем каждую букву, пробел и двоеточие).
Далее идут имена:
- «Шрек, » — 5 символов
- «Пумба, » — 6 символов
- «Маугли, » — 7 символов
- «Реми, » — 6 символов
- «Пиноккио, » — 9 символов
- «Винни-Пух, » — 11 символов
- «Белоснежка, » — 12 символов
- «Малефисента, » — 14 символов
- «Человек-паук, » — 15 символов
- «Конёк-Горбунок» — 15 символов
Проверим точное количество символов всех имен вместе:
5 + 6 + 7 + 6 + 9 + 11 + 12 + 14 + 15 + 15 = 100 символов.
Шаг 2: Общий размер исходного текста в байтах
Каждый символ — 2 байта.
Общий символов:
34 (основной текст) + 100 (имена и запятые) = 134 символа.
Общий размер в байтах:
134 символа × 2 байта = 268 байт.
Шаг 3: Размер исправленного текста
Удалено:
- Имя героя (длина — количество символов + запятая и пробел)
- Итого — длина имени + 2 символа (запятая и пробел).
Размер удалённой части: 28 байт.
Каждый символ — 2 байта, следовательно,
длина удалённого блока в символах:
28 байт / 2 = 14 символов.
Это включает имя героя, запятую и пробел.
Обозначим:
- Длина имени героя — L символов
- Запятая и пробел — 2 символа
Т.к. вся удаленная часть (имя + запятая + пробел):
L + 2 = 14 символов
Отсюда:
L = 14 - 2 = 12 символов
Значит, имя героя — это 12 символов.
Шаг 4: Найти имя героя по длине
Теперь найдём в списке героев имя длиной 12 символов.
Посмотрим список героев (без запятых):
- Шрек — 4 символа
- Пумба — 5 символов
- Маугли — 6 символов
- Реми — 4 символа
- Пиноккио — 8 символов
- Винни-Пух — 9 символов (без дефиса; если считать с дефисом — 10)
- Белоснежка — 10 символов
- Малефисента — 12 символов
- Человек-паук — 11 символов (или 12? проверим)
- Конёк-Горбунок — 13 символов
- «Малефисента» — 12 символов.
Проверим:
М а л е ф и с е н т а
(12 букв: М, а, л, е, ф, и, с, е, н, т, а) — 12.
Значит, удалённое имя героя — Малефисента.
Ответ:
Удалённое имя героя — — Малефисента.