Задание №1 — Теоретические основы информатики
В одной из кодировок Unicode каждый символ кодируется 16 битами.
Ученик хотел написать текст (в нём нет лишних пробелов):
«Скользя по утреннему снегу,
Друг милый, предадимся бегу
Нетерпеливого коня
И навестим поля пустые…»
Одно из слов ученик написал два раза подряд, поставив между одинаковыми словами один пробел. При этом размер написанного предложения в данной кодировке оказался на 14 байт больше, чем размер нужного предложения. Напишите в ответе лишнее слово.
Правильный ответ
пустые
Пояснение
Решение.
1. Сначала определим, сколько байт занимает один символ в данной кодировке. По условию, каждый символ кодируется 16 битами. Переведём биты в байты, зная, что в 1 байте 8 бит:
.
Значит, вес одного символа .
2. Ученик написал лишнее слово и один лишний пробел между повторяющимися словами. По условию, общий размер текста увеличился на 14 байт. Обозначим количество лишних символов (слово плюс пробел) как .
Вычислим общее количество лишних символов:
.
3. Так как ученик добавил слово и один пробел, то на само лишнее слово приходится:
.
4. Теперь найдём в тексте слово, состоящее из 6 букв:
«Скользя» — 7 букв;
«утреннему» — 9 букв;
«снегу» — 5 букв;
«милый» — 5 букв;
«предадимся» — 10 букв;
«бегу» — 4 буквы;
«нетерпеливого» — 13 букв;
«коня» — 4 буквы;
«навестим» — 8 букв;
«поля» — 4 буквы;
«пустые» — 6 букв.
Слово «пустые» содержит ровно 6 букв, что соответствует нашим расчётам.
Ответ: пустые
Источник: ФИПИ