Цифровое Домашнее Задание
ЗАДАНИЕ 1
Напишите ответ в строке (без учета регистра)
В одной из кодировок UTF-32 каждый символ кодируется 32 битами. Рома написал текст (в нём нет лишних пробелов):
«Уфа, Омск, Анапа, Брянск, Воронеж, Белгород, Астрахань — города России».
Ученик вычеркнул из списка название одного из городов. Заодно он вычеркнул ставшие лишними запятые и пробелы (два пробела не должны идти подряд).
При этом размер нового предложения в данной кодировке оказался на 32 байта меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название города России.
Решение:
1. Определим, сколько бит в одном байте:
В одном байте 8 бит.
2. Определим, сколько байт занимает один символ в кодировке UTF-32:
Каждый символ кодируется 32 битами. Чтобы перевести биты в байты, разделим количество бит на 8:
\[ \text{Количество байт на символ} = \frac{\text{Количество бит на символ}}{\text{Количество бит в байте}} \] \[ \text{Количество байт на символ} = \frac{32 \text{ бит}}{8 \text{ бит/байт}} = 4 \text{ байта} \]Значит, один символ занимает 4 байта.
3. Определим, сколько символов было вычеркнуто:
Размер нового предложения оказался на 32 байта меньше. Чтобы узнать, сколько символов было вычеркнуто, разделим уменьшение размера в байтах на количество байт, которое занимает один символ:
\[ \text{Количество вычеркнутых символов} = \frac{\text{Уменьшение размера в байтах}}{\text{Количество байт на символ}} \] \[ \text{Количество вычеркнутых символов} = \frac{32 \text{ байта}}{4 \text{ байта/символ}} = 8 \text{ символов} \]Таким образом, было вычеркнуто 8 символов.
4. Проанализируем текст и вычеркнутые элементы:
Ученик вычеркнул название города, а также "лишние запятые и пробелы". Это означает, что если город был в середине списка, то вместе с ним вычеркивалась запятая перед ним и пробел после нее (или наоборот, в зависимости от того, как считать). Если город был в конце списка, то вычеркивалась запятая и пробел перед ним.
Рассмотрим структуру списка городов: "Город1, Город2, Город3".
Если вычеркивается "Город2", то вместе с ним вычеркивается запятая перед ним и пробел после нее (или запятая после него и пробел перед ним). То есть, вычеркивается: "Город2" + "," + " ".
Общее количество вычеркнутых символов = (количество букв в названии города) + (количество вычеркнутых знаков препинания и пробелов).
В нашем случае, если вычеркивается город из списка, то вместе с ним вычеркивается одна запятая и один пробел. Это 2 дополнительных символа.
Значит, количество букв в названии города = (общее количество вычеркнутых символов) - 2.
Количество букв в названии города = 8 - 2 = 6 букв.
5. Найдем город с 6 буквами в названии:
Список городов: Уфа, Омск, Анапа, Брянск, Воронеж, Белгород, Астрахань.
- Уфа (3 буквы)
- Омск (4 буквы)
- Анапа (5 букв)
- Брянск (6 букв)
- Воронеж (7 букв)
- Белгород (8 букв)
- Астрахань (9 букв)
Город с 6 буквами в названии — это Брянск.
Ответ:
Брянск
