Номер 5
Известно, что Т кодируется 111, О — 0, П — 100. Например, ПОП было бы закодировано так: 1000100 (полужирным выделено вхождение буквы П). А, например, вот такая последовательность 1110100 декодировалась бы однозначно в слово ТОП.
Нам надо придумать наименьший возможный код для буквы С, при котором декодирование было бы однозначным. Что означает слово "однозначность" в данном контексте?
К примеру, давайте обозначим букву С за 1. Наименьший возможный? Да, потому что меньше 1 символа не бывает. Но есть ли однозначность?
- Рассмотрим слово 111. С одной стороны, это — буква Т. С другой стороны, если С — это 1, то 111 можно декодировать, как ССС. То есть, одно и то же слово, записанное в двоичном коде, можно декодировать двумя способами, при этом непонятно, какой из них верный. Значит, если сделать кодом буквы С цифру 1, то такое кодирование не будет однозначным.
- Значит, нельзя кодировать букву С кодами, состоящими из одной цифры (0 — уже занято О, 1 — не подходит). Попробуем двумя. Вариантов — четыре: 00, 10, 11, 01. При этом сходу очевидно, что вариант С=00 не подходит, так как в этом случае слово 00 может восприниматься либо как буква С, либо как две буквы О. Поэтому остаётся три варианта: 10, 11, 01.
- Попробуем закодировать букву С кодом 10. С какой потенциально буквой у С есть общая часть? С П (С=10, П=100, есть общая часть 10). Давайте тогда и рассмотрим тогда слово 100, связанное с буквой П.
С одной стороны, 100 может быть декодировано просто буквой П (ведь П и есть 100).
С другой стороны, 100 можно декодировать буквами СО (С=10, О=0).
Таким образом, имеется неоднозначность. Значит, С нельзя кодировать кодом 10. - Закодируем букву С кодом 11. В этом случае буква С очень похожа на букву Т (С=11, Т=111). Рассмотрим последовательность 111111.
С одной стороны, 111111 можно декодировать, как ТТ.
С другой стороны, 111111 декодируется, как ССС.
Таким образом, имеется неоднозначность. Значит, С нельзя кодировать кодом 11. - Закодируем букву С кодом 01. В этом случае буква С очень похожа на перевёрнутый код буквы П (П=100, С=01). Рассмотрим последовательность 0100.
С одной стороны, 0100 можно представить, как СОО.
С другой стороны, 0100 декодируется, как ОП.
Таким образом, имеется неоднозначность. Значит, С нельзя кодировать кодом 01. - Таким образом, все двузначные коды не подошли. Значит, надо брать трёхзначные.
- Варианты у нас следующие: 000, 001, 010, 100, 011, 101, 110, 111. При этом 111 и 100 уже заняты буквами Т и П соответственно. Вариант 000 очевидно не подходит по соображениям обозначенным в п.2 (равен трём буквам О).
- Остаётся: 001, 010, 011, 101, 110. Заметьте — мы сразу упорядочили коды по возрастанию, как это требуется в условии задачи (если вдруг подойдут несколько кодов — нужно выбрать наименьший).
- Начнём с 001. Он очевидным образом похож на букву П (П=100, С=001). Возьмём последовательность 00100.
С одной стороны, 00100 можно декодировать, как СОО.
С другой стороны, 00100 представим, как ООП.
Таким образом, имеется неоднозначность. Значит, С нельзя кодировать кодом 001. - Рассмотрим код 010. Он похож на букву П (П=100, С=010). Возьмём последовательность 0100.
С одной стороны, 0100 можно декодировать, как СО.
С другой стороны, 0100 представим, как ОП.
Таким образом, имеется неоднозначность. Значит, С нельзя кодировать кодом 010. - Рассмотрим код 011. В нём уже две единицы, значит, если и есть неоднозначность, то она обязана быть с буквой Т (111). Возьмём последовательность 011100.
С одной стороны, 011100 можно декодировать, как СП.
С другой стороны, 011100 представим, как ОТОО.
Таким образом, имеется неоднозначность. Значит, С нельзя кодировать кодом 011. - Рассмотрим код 101. Он похож на несколько кодов, но если начать перебирать возможные несостыковки, то мы их не найдём. На основе этого делаем вывод, что этот код и будет являться ответом.
Ответ: код буквы С, которых сохраняет однозначость кодирования/декодирования, — 101.
Номер 6
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия — справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, которое превышает 43 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.
Пояснение.
Если в числе было нечётное количество единиц, то в конец допишется 10. Если чётное, то 00. Таким образом, нужно найти первое число, большее 43, у которого в двоичной записи чётное количество единиц, а на конце 10 или 00. Имеем:
4410 = 1011002,
4510 = 1011012,
4610 = 1011102.
Ответ: 46.
Номер 9
чтобы закодировать 256 различных цветов, нам потребуется 8 бит. Значит, один пиксель в данном изображении будет занимать 8 бит.
Вспомним, сколько у нас всего пикселей? — 212. Если 1 пиксель занимает 8 бит, то 212 пикселей будут занимать 212x8 = 212x23 = 215 бит.
Нас просят дать ответ в Кбайтах. Значит, надо перевести из бит в Кбайты. Давайте вспомним соотношения между величинами:
- 1 байт = 8 бит = 23 бит
- 1 Кбайт = 1024 байта = 210 байт
- 1 Кбайт = 8x1024 бит = 23 x 210 = 213 бит
Значит, информационный объём («размер») данного изображения составляет 4 Кбайта.
А у нас сколько? 215 бит. Сколько это Кбайт? Надо поделить на то, сколько занимает 1 Кбайт бит: 215 / 213 = 22 = 4 Кбайт. Значит, информационный объём («размер») данного изображения составляет 4 Кбайта.
Номер 10
Буква П появляется 1 раз. Где она потенциально может быть? На первом месте, на втором, на третьем, на четвёртом или на пятом. Давайте по-отдельности посчитаем количество слов, когда буква П стоит в соответствующих местах.
Начнём со случая, когда П стоит на первом месте.
- В этом случае 2 буква может быть любая из двух оставшихся — И или Р. То есть, всего два варианта.
- 3 буква может быть также любой из оставшихся — тоже 2 варианта.
- Для каждого варианта второй буквы есть ровно два варианта 3-ей, поэтому всего вариантов 2 и 3 букв будет 2x2=4.
- Добавляем четвёртую букву — тоже 2 возможных варианта.
- Для каждого из 4-х вариантов 2 и 3 букв есть ровно 2 варианта 4-ой.
- Значит, вариантов 2, 3 и 4 букв 4x2=8 шт.
- Добавляем 5-ую букву. По тем же соображениям кол-во вариантов будет: 8x2 = 16 вариантов.
Итого: когда П находится на первом месте, количество вариантов слов — 16.
Ровно по тем же соображениям будет 16 вариантов, когда П стоит на втором месте. Аналогично — на третьем, четвёртом и пятом. Значит, всего будет 16+16+16+16+16=80 вариантов.
Ответ: 80 различных слов.
Номер 12
Запишем третий байт IP-адреса и адреса сети в двоичной системе счисления:
20810 = 110100002
19210 = 110000002
Видим, что два первых слева бита маски − единицы, а третий бит может быть как нулем, так и единицей. Для того, чтобы значение было наибольшим, этот бит должен быть равен единице. Получаем, что третий слева байт маски равен 111000002 = 22410
Ответ: 224.
Номер 13
Согласно условию, в номере могут быть использованы 12 букв. Известно, что с помощью N бит можно закодировать 2N различных вариантов. Поскольку 23 < 12 < 24, то для записи каждого из 12 символов необходимо 4 бита.
Для хранения всех 15 символов пароля нужно 4 · 15 = 60 бит, а т. к. для записи используется целое число байт, то берём ближайшее не меньшее значение, кратное восьми, это число 64 = 8 · 8 бит (8 байт).
Пусть количество памяти, отведенное под дополнительные сведения равно x, тогда:
20 * (8+x) = 400
x = 12
Ответ: 12.