Для начала, давайте определим, как кодируется текст в UTF-8 и какое количество байтов занимает каждое из упомянутых приставок.
В кодировке UTF-8 каждый символ может занимать от 1 до 4 байтов, но для русских букв используется 2 или 3 байта. В данном случае мы можем сосредоточиться на приставках, которые все состоят из латиницы и хотим определить, какая из них была удалена.
Исходные приставки:
- а- (2 символа)
- де- (3 символа)
- диз- (3 символа)
- анти- (5 символов)
- супер- (6 символов)
- ультра- (7 символов)
Теперь, если рассмотреть каждый из этих префиксов и посчитать, сколько байт каждый из них занимает:
- а-: 2 символа = 2 байта
- де-: 3 символа = 3 байта
- диз-: 3 символа = 3 байта
- анти-: 5 символов = 5 байт
- супер-: 6 символов = 6 байт
- ультра-: 7 символов = 7 байт
К тому же, необходимо учесть удаление запятой и пробела, которые также занимают байты. Удаление одного пробела уменьшает размер текста на 1 байт, а удаление запятой (1 символ) — на 1 байт, таким образом в общей сложности это даст 2 байта.
Теперь давайте посчитаем, сколько байт уменьшился общий размер при удалении каждой приставки:
- а-: 2 байта (приставка) + 2 байта (пробел и запятая) = 4 байта
- де-: 3 байта + 2 байта = 5 байт
- диз-: 3 байта + 2 байта = 5 байт
- анти-: 5 байт + 2 байта = 7 байт
- супер-: 6 байт + 2 байта = 8 байт
- ультра-: 7 байт + 2 байта = 9 байт
Размер нового предложения стал на 384 бита меньше. Чтобы сравнить это в байтах: 384 бита = 48 байт.
Теперь смотрим, какая из приставок дает уменьшение на 48 байт:
Для этого умножим количество байт, сэкономленных на каждой приставке, на 8 (поскольку 1 байт = 8 бит):
- а-: 4 * 8 = 32 бита
- де-: 5 * 8 = 40 бит
- диз-: 5 * 8 = 40 бит
- анти-: 7 * 8 = 56 бит
- супер-: 8 * 8 = 64 бита
- ультра-: 9 * 8 = 72 бита
Из этого можно заметить, что при удалении приставки "анти-" мы получим нужное уменьшение размера текста на 48 байт.
Таким образом, удаленная приставка — это "анти".
