Дан текст-перечисление и кодировка. Из текста удалили одно слово вместе с запятой и пробелом, размер уменьшился на известное число байт или бит. Нужно понять, какое слово удалили.
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 30 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 2 байта. Размер уменьшился на 30 байт, значит, удалили 30 : 2 = 15 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 15 − 2 = 13 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
пилот
5
агроном
7
инженер
7
дизайнер
8
аналитик
8
программист
11
тестировщик
11
робототехник
12
биоинформатик
13
Ответ: биоинформатик
Решение на Python.
words = ['дизайнер', 'пилот', 'аналитик', 'агроном', 'инженер', 'робототехник', 'программист', 'биоинформатик', 'тестировщик']
bits = 16 # бит на символ
delta = 30 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 2
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 24 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 2 байта. Размер уменьшился на 24 байт, значит, удалили 24 : 2 = 12 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 12 − 2 = 10 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
клёст
5
дятел
5
сойка
5
зяблик
6
синица
6
воробей
7
соловей
7
трясогузка
10
Ответ: трясогузка
Решение на Python.
words = ['трясогузка', 'зяблик', 'воробей', 'соловей', 'клёст', 'дятел', 'синица', 'сойка']
bits = 16 # бит на символ
delta = 24 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 3
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 2 байта. Размер уменьшился на 14 байт, значит, удалили 14 : 2 = 7 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 7 − 2 = 5 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
редис
5
свёкла
6
огурец
6
чеснок
6
помидор
7
морковь
7
кабачок
7
петрушка
8
баклажан
8
картофель
9
Ответ: редис
Решение на Python.
words = ['свёкла', 'редис', 'огурец', 'петрушка', 'помидор', 'морковь', 'баклажан', 'чеснок', 'картофель', 'кабачок']
bits = 16 # бит на символ
delta = 14 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 4
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 22 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 2 байта. Размер уменьшился на 22 байт, значит, удалили 22 : 2 = 11 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 11 − 2 = 9 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
Италия
6
Польша
6
Мальта
6
Австрия
7
Венгрия
7
Франция
7
Норвегия
8
Швейцария
9
Португалия
10
Нидерланды
10
Ответ: Швейцария
Решение на Python.
words = ['Италия', 'Польша', 'Швейцария', 'Мальта', 'Австрия', 'Португалия', 'Норвегия', 'Венгрия', 'Нидерланды', 'Франция']
bits = 16 # бит на символ
delta = 22 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 5
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 2 байта. Размер уменьшился на 14 байт, значит, удалили 14 : 2 = 7 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 7 − 2 = 5 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
Крош
4
Нюша
4
Пумба
5
Маугли
6
Пиноккио
8
Винни-Пух
9
Белоснежка
10
Малефисента
11
Человек-паук
12
Конёк-Горбунок
14
Ответ: Пумба
Решение на Python.
words = ['Малефисента', 'Маугли', 'Винни-Пух', 'Пумба', 'Пиноккио', 'Белоснежка', 'Крош', 'Нюша', 'Человек-паук', 'Конёк-Горбунок']
bits = 16 # бит на символ
delta = 14 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 6
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 22 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 2 байта. Размер уменьшился на 22 байт, значит, удалили 22 : 2 = 11 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 11 − 2 = 9 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
тигр
4
зебра
5
жираф
5
кенгуру
7
носорог
7
бегемот
7
дикобраз
8
антилопа
8
крокодил
8
орангутан
9
Ответ: орангутан
Решение на Python.
words = ['дикобраз', 'зебра', 'антилопа', 'тигр', 'кенгуру', 'крокодил', 'орангутан', 'носорог', 'бегемот', 'жираф']
bits = 16 # бит на символ
delta = 22 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 7
8 бит на символ · ответ в байтах
В кодировке КОИ-8 каждый символ кодируется 8 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 8 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 1 байт. Размер уменьшился на 8 байт, значит, удалили 8 : 1 = 8 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 8 − 2 = 6 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
арфа
4
баян
4
флейта
6
барабан
7
скрипка
7
кларнет
7
саксофон
8
контрабас
9
балалайка
9
виолончель
10
Ответ: флейта
Решение на Python.
words = ['барабан', 'арфа', 'контрабас', 'саксофон', 'виолончель', 'скрипка', 'кларнет', 'баян', 'флейта', 'балалайка']
bits = 8 # бит на символ
delta = 8 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 8
8 бит на символ · ответ в байтах
В кодировке КОИ-8 каждый символ кодируется 8 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 1 байт. Размер уменьшился на 14 байт, значит, удалили 14 : 1 = 14 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 14 − 2 = 12 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
Тула
4
Киев
4
Керчь
5
Минск
5
Москва
6
Одесса
6
Ленинград
9
Волгоград
9
Севастополь
11
Новороссийск
12
Ответ: Новороссийск
Решение на Python.
words = ['Керчь', 'Минск', 'Ленинград', 'Волгоград', 'Новороссийск', 'Севастополь', 'Тула', 'Москва', 'Одесса', 'Киев']
bits = 8 # бит на символ
delta = 14 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Вариант 9
16 бит на символ · ответ в битах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 128 бит меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 16 бит. Размер уменьшился на 128 бит, значит, удалили 128 : 16 = 8 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 8 − 2 = 6 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
бор
3
литий
5
фосфор
6
кальций
7
водород
7
алюминий
8
кислород
8
Ответ: фосфор
Решение на Python.
words = ['кальций', 'алюминий', 'литий', 'бор', 'фосфор', 'кислород', 'водород']
bits = 16 # бит на символ
delta = 128 # на сколько бит уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed == delta:
print(w)
Вариант 10
32 бит на символ · ответ в байтах
В кодировке UTF-32 каждый символ кодируется 32 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 44 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Разбор
Шаг 1. Сколько символов удалили. Один символ занимает 4 байта. Размер уменьшился на 44 байт, значит, удалили 44 : 4 = 11 символов.
Шаг 2. Вычитаем запятую и пробел. Вместе со словом удалили ещё запятую и пробел — это 2 символа. Значит, в слове 11 − 2 = 9 букв (дефис тоже считается символом).
Шаг 3. Ищем слово такой длины.
Слово
Символов
бег
3
хоккей
6
теннис
6
керлинг
7
плавание
8
волейбол
8
баскетбол
9
Ответ: баскетбол
Решение на Python.
words = ['плавание', 'волейбол', 'хоккей', 'баскетбол', 'теннис', 'бег', 'керлинг']
bits = 32 # бит на символ
delta = 44 # на сколько байт уменьшился размер
for w in words:
removed = (len(w) + 2) * bits # слово + запятая + пробел, в битах
if removed // 8 == delta:
print(w)
Для самостоятельного решения
Варианты 11–15 без разборов. Ответ можно проверить кнопкой.
Вариант 11
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 20 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Вариант 12
8 бит на символ · ответ в байтах
В кодировке КОИ-8 каждый символ кодируется 8 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 7 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Вариант 13
16 бит на символ · ответ в битах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
«Реки России: Иртыш, Колыма, Кама, Волга, Ангара, Северная Двина, Печора».
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 256 бит меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Вариант 14
16 бит на символ · ответ в байтах
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.
Вариант 15
32 бит на символ · ответ в байтах
В кодировке UTF-32 каждый символ кодируется 32 битами. Ученик написал текст (в нём нет лишних пробелов):
Ученик удалил из списка одно слово, а также лишние запятую и пробел — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 48 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое слово.