В кодировке Windows-1251 каждый символ кодируется 8 битами. Вова хотел написать текст (В нем нет лишних пробелов):
"Скользя по утреннему снегу,
Друг милый, предадимся бегу
Нетерпеливого коня
И навестим поля пустые..."
Одно из слов ученик написал два раза подряд, поставив между одинаковыми словами один пробел. При этом размер написанного предложения в данной кодировке оказался на 8 байт больше, чем размер нужного предложения. Какое это слово?
Типичное задание из огэ.
Так как 1 байт = 8 бит, один символ кодируется 1 байтом. Так как размер стал на 8 байт меньше, значит удалено 8 символов, среди них один пробел. Значит, ищем слово из 7 букв. Это... минуточку... СКОЛЬЗЯ
1. Разберемся с размерами кодировки Windows-1251. Каждый символ кодируется 8 битами, что равно 1 байту. Это значит, что размер нужного предложения равен количеству символов в нем.
2. Размер написанного предложения в кодировке Windows-1251 оказался на 8 байт больше, чем размер нужного предложения. Из этого можно сделать вывод, что в написанном предложении появилось лишнее слово.
3. Чтобы определить какое именно слово ученик написал два раза подряд, поставив между ними один пробел, сравним размеры написанного предложения до и после удаления одного из повторяющихся слов.
4. Для этого заменим каждое слово в предложении на символы "A" и посчитаем новый общий размер предложения.
5. Начнем с замены первого слова "Скользя". После замены, предложение будет выглядеть следующим образом: "A по утреннему снегу,
Друг милый, предадимся бегу
Нетерпеливого коня
И навестим поля пустые...". Размер предложения теперь равен количеству символов.
6. Теперь заменим второе слово "по" на символы "A". Получим предложение: "A A утреннему снегу,
Друг милый, предадимся бегу
Нетерпеливого коня
И навестим поля пустые...". Опять же, размер предложения равен количеству символов.
7. Продолжим заменять слова и подсчитывать размер предложения.
8. Когда мы заменим повторяющееся слово, размер предложения станет меньше на 8 байт, так как удаляется одно слово.
9. После проведения замены для каждого слова, найдем ту замену, после которой размер предложения уменьшится на 8 байт.
10. Таким образом, найденное слово, которое ученик написал два раза подряд с одним пробелом между ними, будет тем словом, которое было заменено, и после которого размер предложения уменьшился на 8 байт.
Таким образом, чтобы определить какое именно слово нужно удалить, чтобы размер предложения уменьшился на 8 байт, можно провести вышеописанные шаги и воспользоваться результатом.