Чтобы решить эту задачу, начнем с понимания, как работает кодировка и как вычислить, сколько байт занимает текст.
Понимание кодировки:
- Каждый символ кодируется 9 битами. Чтобы перевести это в байты, нужно знать, что один байт = 8 бит.
- Таким образом, 9 бит = 9/8 байт = 1.125 байта на символ.
Выяснение длины текста:
- Вова напечатал фразу: «Ом, Бор, Кюри, Попов, Джоуль, Рентген, Курчатов, Резерфорд — великие физики».
- Давайте посчитаем количество символов в этом предложении. Включаем все буквы, запятые, пробелы и дефис.
Подсчет символов:
- «Ом, Бор, Кюри, Попов, Джоуль, Рентген, Курчатов, Резерфорд — великие физики» содержит:
- 73 символа (по пробелам, запятым и буквам).
- «Ом, Бор, Кюри, Попов, Джоуль, Рентген, Курчатов, Резерфорд — великие физики» содержит:
Размер текста в байтах:
- Размер исходного текста (без повторения) = 73 символа * 1.125 байта/символ = 82.125 байта.
- Размер текста с повторением = размер текста без повторения + 9 байт = 82.125 + 9 = 91.125 байта.
Определение символа, который повторяется:
- Вместо того, чтобы пересчитывать все возможные пары с запятыми и пробелами вручную, посмотрим на размер. Когда фамилия и запятая повторяются, добавляется 9 бит.
- Если пара символов (фамилия, запятая и пробел) добавляет 1 символ, а это 9 бит или 1.125 байта, нам нужно искать фамилию, длина которой при добавлении запятой и пробела будет равна 8.25 байта или 8 символам.
Сравнение фамилий: Фамилии в предложении:
- Бор (3 символа)
- Кюри (5 символов)
- Попов (5 символов)
- Джоуль (6 символов)
- Рентген (7 символов)
- Курчатов (9 символов)
- Резерфорд (10 символов)
При нахождении подходящей фамилии мы видим, что:
- Рентген занимает 7 символов, плюс запятая и пробел (8 символов) - нужно повторить именно её.
Таким образом, Вова дважды напечатал фамилию "Рентген".