Контрольные задания > 5). В одной из кодировок Unicode каждый символ кодируется 16 битами. Ваня написал текст (в нем
нет лишних пробелов):
«Уфа, Азов, Пермь, Белово, Вологда, Камбарка, Соликамск города России».
Ученик вычеркнул из списка название одного из городов. Заодно он вычеркнул ставшие лишними
запятые и пробелы два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер
исходного предложения. Напишите в ответе вычеркнутое название города России.
Вопрос:
5). В одной из кодировок Unicode каждый символ кодируется 16 битами. Ваня написал текст (в нем
нет лишних пробелов):
«Уфа, Азов, Пермь, Белово, Вологда, Камбарка, Соликамск города России».
Ученик вычеркнул из списка название одного из городов. Заодно он вычеркнул ставшие лишними
запятые и пробелы два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер
исходного предложения. Напишите в ответе вычеркнутое название города России.
Ответ:
Сначала посчитаем количество символов в исходной строке:
«Уфа, Азов, Пермь, Белово, Вологда, Камбарка, Соликамск города России»
В строке 60 символов (включая пробелы и запятые). Каждый символ занимает 16 бит = 2 байта.
Общий размер строки: 60 * 2 = 120 байт.
После вычеркивания размер уменьшился на 22 байта, то есть новая строка занимает 120 - 22 = 98 байт.
Удалены запятая, название города и два пробела. Значит, название города + запятая + 2 пробела = 22/2 = 11 символов.
Перебираем города и считаем количество символов в названии города + 3:
Уфа: 3 + 3 = 6 (не подходит)
Азов: 4 + 3 = 7 (не подходит)
Пермь: 5 + 3 = 8 (не подходит)
Белово: 6 + 3 = 9 (не подходит)
Вологда: 7 + 3 = 10 (не подходит)
Камбарка: 8 + 3 = 11 (подходит)
Соликамск: 9 + 3 = 12 (не подходит)
Ответ: Камбарка