Для решения этой задачи начнем с анализа исходного текста:
«Ява, Куба, Лусон, Маражо, Суматра, Сулавеси, Эспаньола — острова».
Сначала определим количество байтов в оригинальном тексте. Каждый символ в кодировке КОИ-8 занимает 1 байт. Посчитаем количество символов в строке, включая пробелы и запятые.
Исходный текст состоит из следующих островов:
- «Ява» - 4 байта (3 символа + 1 запятая + 1 пробел)
- «Куба» - 5 байт (4 символа + 1 запятая + 1 пробел)
- «Лусон» - 6 байт (5 символов + 1 запятая + 1 пробел)
- «Маражо» - 7 байт (6 символов + 1 запятая + 1 пробел)
- «Суматра» - 8 байт (7 символов + 1 запятая + 1 пробел)
- «Сулавеси» - 9 байт (8 символов + 1 запятая + 1 пробел)
- «Эспаньола» - 10 байт (9 символов + 1 пробел)
Теперь суммируем все байты:
4 + 5 + 6 + 7 + 8 + 9 + 10 = 49 байт для текста без учета концевого пробела.
Теперь добавим количество байтов, которое занимает последний пробел и тире: Эта часть текста: « — острова» занимает 10 байт (1 пробел + 1 знак тире + 7 символов "острова").
49 + 10 = 59 байт.
Итак, мы знаем, что после удаления одного названия острова размер текста стал на 9 байтов меньше, то есть новый размер:
59 - 9 = 50 байт.
Теперь пробуем убрать каждое название острова и считать количество оставшихся байт.
Удаление «Ява» (4 байта): 59 - (4 + 2) = 53 байта (остается 5 байтов)
Удаление «Куба» (5 байт): 59 - (5 + 2) = 52 байта (остается 4 байта)
Удаление «Лусон» (6 байт): 59 - (6 + 2) = 51 байт (остается 3 байта)
Удаление «Маражо» (7 байт): 59 - (7 + 2) = 50 байт (окончательно совпадает)
Удаление «Суматра» (8 байт): 59 - (8 + 2) = 49 байт (остается 2 байта)
Удаление «Сулавеси» (9 байт): 59 - (9 + 2) = 48 байт (остается 1 байт)
Удаление «Эспаньола» (10 байт): 59 - (10 + 0) = 49 байт (остается 0 байтов)
На основании нашего анализа название острова, которое Лена вычеркнула, это «Маражо».
