ЕГЭ
Информатика
18 марта 2026
19 минут чтения

Задание 13 ЕГЭ по информатике: маска подсети

Задание 13 ЕГЭ по информатике (КЕГЭ) — это маска подсети и IP-адрес: по проверяемому элементу содержания 1.2 оно проверяет умение понимать принципы адресации в сети и работать с поразрядной конъюнкцией. Задание повышенного уровня сложности, за него дают 1 первичный балл, и оно, как и все 27 заданий КЕГЭ, оценивается автоматически по краткому ответу — файла к нему не прилагается. Ответ — либо число, либо IP-адрес без разделителей (без точек). В статье — вся теория по IPv4 и маскам, приём «переводим только тот байт, который меняется», рабочий Python-код и три разбора реальных заданий из открытого банка ФИПИ с проверенными ответами. Потренироваться можно на реальных заданиях 13 ЕГЭ по информатике онлайн — с мгновенной проверкой ответа.


Что проверяет задание 13 ЕГЭ по информатике

Раздел кодификатора — «Цифровая грамотность», проверяемый элемент содержания 1.2 — принципы адресации в сети, устройство IP-адреса и маски подсети. Само задание построено вокруг одной операции — поразрядной конъюнкции адреса узла и маски сети.

Проверяемые умения (КЭС 1.2):

  • понимать структуру IPv4-адреса: четыре байта, десятичная запись через точки, диапазон значений каждого байта 0–255;
  • понимать смысл маски подсети — числа, где слева стоят единицы, а справа нули, и уметь находить адрес сети через поразрядную конъюнкцию адреса узла и маски;
  • считать количество узлов и количество адресов в подсети по числу нулей (единиц) в маске;
  • по адресу узла и маске находить адрес сети, а по адресу узла и адресу сети — восстанавливать возможные маски;
  • выполнять операции с двоичной записью байта: считать единицы и нули, находить подряд идущие серии битов.
ПараметрЗначение
Максимальный балл1 первичный (частичного зачёта нет: ответ либо полностью совпал с эталоном, либо 0)
Уровень сложностиПовышенный (П) — одно из 11 заданий этого уровня в работе
Формат ответаКраткий: число либо IP-адрес без разделителей (без точек)
Раздел кодификатора1. Цифровая грамотность; КЭС 1.2
Нужен ли файл / спец. ПОНет — файл к заданию не прилагается, специализированное ПО не требуется, решение удобно набросать на черновике
Примерное время выполнения3 минуты (по спецификации ФИПИ)
Связанные заданияЗадание 22 (многопроцессорные системы, тоже раздел «Цифровая грамотность»), задание 4 (кодирование, работа с двоичной записью)

Тренируйтесь на реальных заданиях

Задания 13 ЕГЭ по информатике из открытого банка ФИПИ с мгновенной проверкой ответа. Решаем, ошибаемся, разбираем — бесплатно.

Решать задание 13

Как выглядит формулировка

Условие задания 13 почти всегда начинается с одного и того же определяющего абзаца — он не меняется от варианта к варианту и задаёт всю терминологию:

«В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети».

А дальше идёт один из двух подтипов вопроса. В банке заданий этой линии их ровно два:

Подтип 1 — дана сеть (IP-адрес + маска), нужно посчитать количество адресов с каким-то свойством:

  • «Сеть задана IP-адресом 122.159.136.144 и маской сети 255.255.255.248. Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 4? В ответе укажите только число.»
  • «Сеть задана IP-адресом 208.95.48.0 и маской сети 255.255.240.0. Определите максимальное количество нулей в двоичной записи IP-адреса в этой сети. В ответе укажите только число.»

Подтип 2 — дан IP-адрес узла и адрес сети, нужно найти, скольким маскам это соответствует:

  • «Для узла с IP-адресом 153.172.3.8 адрес сети равен 153.172.3.0. Для скольких различных значений маски это возможно? В ответе запишите только число.»

Встречаются и вариации, где ответом служит сам IP-адрес (например, адрес сети или конкретный узел, удовлетворяющий условию), а не число. Для таких формулировок ФИПИ прямо оговаривает форму записи — «в ответе укажите найденный IP-адрес без разделителей». Это значит: четыре числа от 0 до 255 пишутся подряд, без точек и без пробелов — например, адрес 192.168.1.1 нужно записать как 19216811. Если же ответ — количество адресов или количество масок, в ответ идёт обычное натуральное число, тоже без пробелов и лишних символов.

Теория: всё, что нужно для задания 13

Структура IPv4-адреса

IPv4-адрес — это 4 байта (32 бита), каждый из которых записывается десятичным числом от 0 до 255 и отделяется от соседних точкой:

192байт 1.168байт 2.1байт 3.1байт 4\underbrace{192}_{\text{байт 1}}.\underbrace{168}_{\text{байт 2}}.\underbrace{1}_{\text{байт 3}}.\underbrace{1}_{\text{байт 4}}

Каждый байт — это 8 бит, поэтому весь адрес — это 4×8=324 \times 8 = 32 бита. Диапазон 0–255 получается из того, что 8 бит дают 28=2562^8 = 256 различных значений: от 00000000 (0) до 11111111 (255). Перевод байта в двоичную запись — базовая операция всего задания, поэтому иметь под рукой таблицу степеней двойки (128, 64, 32, 16, 8, 4, 2, 1) обязательно.

Пример: 14410144_{10}. Раскладываем по степеням двойки: 128+16=144128 + 16 = 144, значит в разрядах 128 и 16 стоят единицы, в остальных — нули: 10010000.

Маска подсети и поразрядная конъюнкция

Маска подсети — это тоже 32-битное число, но устроенное жёстко: слева стоят подряд идущие единицы, справа — подряд идущие нули, и нигде между ними единица не чередуется с нулём. Единицы маски отмечают биты адреса сети, нули — биты адреса узла внутри сети. Поэтому маску однозначно задаёт одно число — количество единиц в ней.

Типичные маски и их байтовая запись:

Единиц всегоМаска (десятично)Байт с «обрывом»
24255.255.255.000000000
26255.255.255.19211000000
28255.255.255.24011110000
29255.255.255.24811111000

Как найти адрес сети: поразрядная конъюнкция

Адрес сети = адрес узла И (поразрядно) маска. Правило конъюнкции по каждому биту: 1 и 1 дают 1, а если хотя бы один бит — 0, результат 0. На практике это означает: там, где в маске единица, бит адреса сохраняется; там, где в маске ноль, бит адреса обнуляется.

адрес сети  =  адрес узла  &  маска\text{адрес сети} \;=\; \text{адрес узла} \;\&\; \text{маска}

Пример: узел 144 = 10010000, маска 248 = 11111000. Первые пять битов совпадают с маской (единицы) и сохраняются, последние три бита обнуляются: 10010000 & 11111000 = 10010000 — в данном случае байт не изменился, потому что три младших бита узла и так были нулями.

Сколько адресов и узлов в подсети

Если в маске mm единиц, значит нулей — k=32mk = 32 - m. Эти kk свободных битов и определяют, сколько разных адресов помещается в подсеть:

адресов в подсети=2k=232m\text{адресов в подсети} = 2^{k} = 2^{32-m}

Но назначить узлам можно не все эти адреса. Два адреса в любой подсети зарезервированы: адрес, где все свободные биты — нули (это адрес самой сети), и адрес, где все свободные биты — единицы (это широковещательный адрес, broadcast). Реальным узлам достаются только адреса между ними:

узлов в подсети=2k2\text{узлов в подсети} = 2^{k} - 2

Это различие критично для формулировок. Если вопрос звучит как «сколько IP-адресов в этой сети» или «сколько адресов удовлетворяют условию» — считаем все 2k2^k значений, включая адрес сети и broadcast. А если вопрос звучит как «сколько узлов можно подключить к сети» — нужно вычесть эти два служебных адреса.

Таблица: число нулей → шаг подсети → число адресов

Нулей в маске kkАдресов 2k2^kУзлов 2k22^k - 2Шаг между сетями
1202
2424
3868
4161416
5323032
8256254256
12409640944096

«Шаг между сетями» — это разница между началом соседних подсетей одного размера: если подсеть начинается с адреса, кратного 2k2^k, следующая начнётся ровно через 2k2^k адресов. Это удобно для проверки: у сети 122.159.136.144/29 (29 единиц, 3 нуля) шаг равен 8, и правда, 144 кратно 8.

Главный приём: переводите только тот байт, который меняется

Маска почти никогда не «режет» адрес посередине байта на всех четырёх байтах сразу — она задаёт границу ровно в одном байте (том, что соответствует остатку от деления числа единиц на 8), а все байты левее полностью фиксированы (255), все байты правее — полностью свободны (0). Значит, переводить в двоичный вид нужно только один байт — тот, где проходит граница маски. Остальные три байта одинаковы у всех адресов подсети, и их можно вообще не трогать.

Пример: маска 255.255.255.248. Первые три байта маски — 11111111, значит первые три байта адреса фиксированы такими, какие они в исходном IP. Только четвёртый байт маски — 11111000 — содержит границу: 5 единиц и 3 нуля. Значит, свободны ровно 3 младших бита последнего байта, а первые три байта адреса для всех адресов подсети одинаковы и участвуют в подсчёте «как есть», без перевода в двоичный вид — если только вопрос не спрашивает именно про них.

Отсюда практика: если условие спрашивает «сколько единиц/нулей в адресе», для трёх фиксированных байтов количество единиц считается один раз и прибавляется как константа ко всем 8 (или сколько там) вариантам четвёртого байта. Пересчитывать три фиксированных байта заново для каждого из вариантов — пустая трата времени.

Python: побитовые операции и перебор масок

Все вычисления задания 13 сводятся к трём операциям Python: собрать 32-битное число из четырёх байтов, применить & (побитовое И) и построить маску сдвигом <<. Вот рабочий шаблон для подтипа «дана сеть — считаем адреса по условию»:

def ip_to_int(a, b, c, d):
    return (a << 24) | (b << 16) | (c << 8) | d

ip = ip_to_int(122, 159, 136, 144)
mask = ip_to_int(255, 255, 255, 248)
net = ip & mask

host_bits = 32 - bin(mask).count("1")
count = 0
for k in range(2 ** host_bits):
    addr = net + k
    ones = bin(addr).count("1")
    if ones % 4 != 0:
        count += 1

print(count)

Идея: net + k перебирает все адреса подсети (от адреса сети до адреса сети плюс 2host_bits12^{\text{host\_bits}} - 1), а bin(addr).count("1") считает единицы в двоичной записи. Функция bin() в Python сама убирает ведущие нули, но на подсчёт количества единиц это не влияет.

Для подтипа «по узлу и адресу сети найти число масок» перебор идёт не по адресам, а по длине маски — от 0 до 32:

ip = ip_to_int(153, 172, 3, 8)
net = ip_to_int(153, 172, 3, 0)

count = 0
for k in range(33):
    mask = ((1 << k) - 1) << (32 - k) if k > 0 else 0
    if ip & mask == net:
        count += 1

print(count)

Здесь (1 << k) - 1 даёт число из kk единиц (например, при k=3k=3 получаем 111 = 7), а сдвиг << (32 - k) отодвигает эти единицы в старшие разряды — получается маска с kk единицами слева и нулями справа, как и положено настоящей маске подсети. Условие ip & mask == net проверяет ровно то определение, что дано в условии задачи.

Алгоритм решения задания 13

  1. Определите подтип вопроса. Если дана сеть (IP-адрес + маска) и спрашивают про адреса или узлы — это первый подтип. Если дан узел и адрес сети, а спрашивают про число масок — второй.
  2. Найдите байт, где проходит граница маски.Переведите маску в двоичный вид по байтам и найдите тот, в котором единицы сменяются нулями (255 = все единицы, 0 = все нули, полностью его не переводите).
  3. Посчитайте число свободных битов k=32mk = 32 - m, где mm — число единиц в маске. Число адресов в подсети — 2k2^k, число узлов — 2k22^k - 2.
  4. Переведите в двоичный вид только меняющийся байт исходного IP-адреса — остальные три байта одинаковы для всех адресов подсети, их переводите один раз как константу.
  5. Переберите все варианты свободных битов (от 0 до 2k12^k - 1) и для каждого проверьте условие задачи: количество единиц/нулей, наличие подряд идущих битов и так далее.
  6. Для подтипа «сколько масок» переберите длину маски kk от 0 до 32, постройте маску сдвигом и сравните IP&маска\text{IP} \,\&\, \text{маска} с данным адресом сети.
  7. Запишите ответ в нужной форме. Число — просто цифрами. IP-адрес — без точек и пробелов, подряд все четыре десятичных значения.

Закрепите приём на практике

Прорешайте подряд десяток заданий на маску подсети — и перевод байта в двоичный вид займёт секунды. Задания ЕГЭ по информатике из банка ФИПИ с проверкой ответа — на Repet.ai.

Открыть тренажёр

Примеры с разбором

Пример 1. Считаем адреса по свойству числа единиц

Условие (реальное задание из открытого банка ФИПИ):

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом 122.159.136.144 и маской сети 255.255.255.248. Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 4? В ответе укажите только число.

Решение:

Шаг 1. Маска 255.255.255.248 — последний байт 24810=111110002248_{10} = 11111000_2: 5 единиц, 3 нуля. Значит, под номер узла отведены 3 младших бита, и в сети 23=82^3 = 8 адресов. Первые три байта маски — 255, они не меняются.

Шаг 2. Адрес сети: 14410=100100002144_{10} = 10010000_2, последние три бита уже нулевые, поэтому конъюнкция с маской ничего не меняет — адрес сети 122.159.136.144. Все 8 адресов подсети — от .144 до .151.

Шаг 3. Переводим только меняющийся (последний) байт. Первые три байта — 122, 159, 136 — одинаковы у всех 8 адресов, посчитаем в них единицы один раз:

122 = 01111010  -> 5 единиц
159 = 10011111  -> 6 единиц
136 = 10001000  -> 2 единицы
итого в первых трёх байтах: 5 + 6 + 2 = 13 единиц

В последнем байте старшие 5 бит фиксированы — 10010 — это ещё 2 единицы. Итого «база» — 15 единиц, к ней прибавляются единицы из 3 свободных младших бит (от 000 до 111):

Последний байтМладшие 3 битаВсего единицКратно 4?
14400015нет
14500116да
14601016да
14701117нет
14810016да
14910117нет
15011017нет
15111118нет

Кратно 4 — у трёх адресов (145, 146, 148), значит не кратно — у 83=58 - 3 = 5.

Ответ: 5. Проверка здравым смыслом: ответ не может быть больше общего числа адресов в подсети (8) — 5 меньше 8, значит порядок величины верный.

Пример 2. Ищем возможные маски по адресу узла и адресу сети

Условие (реальное задание из открытого банка ФИПИ):

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Для узла с IP-адресом 153.172.3.8 адрес сети равен 153.172.3.0. Для скольких различных значений маски это возможно? В ответе запишите только число.

Решение:

Здесь неизвестна не подсеть, а маска — задание переворачивает логику первого подтипа. Маска — это kk единиц, за которыми идут нули. Выписываем оба адреса в двоичном виде побайтно:

узел 153.172.3.8   -> 10011001 10101100 00000011 00001000
сеть 153.172.3.0   -> 10011001 10101100 00000011 00000000

Первые два байта (153, 172) и старшая часть третьего байта (3 = 00000011) у узла и у сети совпадают — их вообще не нужно трогать. Всё различие — в последнем байте: у узла 00001000 (8), у сети 00000000 (0).

Конъюнкция с маской из kk единиц оставляет первые kk бит узла как есть и обнуляет остальные. Чтобы результат совпал с адресом сети, нужны два условия:

  • все единицы адреса сети должны попасть в первые kk бит — последняя единица адреса сети стоит на 24-й позиции (это младший бит третьего байта: 3=0000001123 = 00000011_2), значит k24k \ge 24;
  • все биты, где узел и сеть расходятся, должны попасть в обнуляемую часть — первое расхождение между узлом и сетью на 29-й позиции (бит со значением 8 в последнем байте), значит k28k \le 28.

Подходят k=24,25,26,27,28k = 24, 25, 26, 27, 28 — ровно пять значений. В десятичной записи это маски 255.255.255.0, 255.255.255.128, 255.255.255.192, 255.255.255.224 и 255.255.255.240.

Ответ: 5. Проверка: при k=24k=24 маска обнуляет весь последний байт — 8 обнулится до 0, совпадёт с сетью; при k=29k=29 маска уже сохранила бы бит со значением 8, и результат отличался бы от 0 — значит, 29 не подходит, что и даёт верхнюю границу 28.

Пример 3. Ищем экстремум — максимум нулей в адресе

Условие (реальное задание из открытого банка ФИПИ):

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом 208.95.48.0 и маской сети 255.255.240.0. Определите максимальное количество нулей в двоичной записи IP-адреса в этой сети. В ответе укажите только число.

Решение:

Шаг 1. Маска 255.255.240.0: первые два байта — 255 (все единицы), третий байт 24010=111100002240_{10} = 11110000_2 (4 единицы, 4 нуля), четвёртый байт — 0 (все нули). Всего единиц: 8+8+4=208 + 8 + 4 = 20, свободных бит — 3220=1232 - 20 = 12.

Шаг 2. Фиксированная часть адреса (первые 20 бит) — это первые два байта 208.95 плюс старшие 4 бита третьего байта:

208 = 11010000  -> 5 нулей (из 8 бит)
95  = 01011111  -> 2 нуля
48  = 00110000, старшие 4 бита: 0011 -> 2 нуля

В фиксированной части 5+2+2=95+2+2=9 нулей. Свободны последние 12 бит (младшие 4 бита третьего байта плюс весь четвёртый байт).

Шаг 3. Нулей будет максимум, если и все 12 свободных бит тоже сделать нулями — то есть взять сам адрес сети 208.95.48.0 (свободная часть — 000000000000, это ровно 12 нулей). Другие адреса подсети содержат хотя бы одну единицу в свободной части, а значит нулей там меньше.

9+12=219 + 12 = 21

Ответ: 21. Проверка: всего в адресе 32 бита, значит из них 21 ноль и 3221=1132-21=11 единиц — и это как раз количество единиц в самом адресе сети 208.95.48.0 (в двоичной записи 11010000 01011111 00110000 00000000, единиц действительно 11).

Типичные ошибки

Перевод в двоичный вид всего адреса целиком. Три из четырёх байтов не меняются внутри подсети — переводить их заново для каждого варианта не нужно и только повышает шанс арифметической ошибки. Переводите один раз только тот байт, где проходит граница маски.

Путаница «адреса в подсети» и «узлы в подсети». Число адресов — 2k2^k, число узлов, которые реально можно назначить, — 2k22^k - 2 (без адреса сети и широковещательного адреса). Если вопрос про «сколько IP-адресов удовлетворяют условию» — вычитать 2 не нужно; если про «сколько узлов можно подключить» — нужно.

Ошибка в направлении конъюнкции. Единица в маске сохраняет бит адреса, ноль в маске обнуляет его. Перепутать легко: помните, что единицы маски — это «часть, отвечающая за сеть», и именно она копируется без изменений.

Забыли, что маска должна быть «единицы слева, нули справа» без чередования. В задачах на подсчёт числа масок перебирать нужно только длину префикса kk от 0 до 32 — никаких других двоичных чисел маской быть не может.

Разделители в ответе-адресе. Если ответ — IP-адрес, в бланк идёт запись без точек и без пробелов (192.168.1.1 → 19216811). Оставленная точка или пробел — это несовпадение с эталоном и 0 баллов, даже если число верное.

Ошибка в границах при поиске числа масок. Нижнюю границу kk задаёт позиция последней единицы в адресе сети, верхнюю — позиция первого расхождения между узлом и сетью. Перепутать местами эти два условия — частая причина неверного ответа.

Арифметика степеней двойки в уме без проверки. 210=10242^{10}=1024, 212=40962^{12}=4096, 213=81922^{13}=8192 — эти степени встречаются в задании постоянно. Ошибка на одном порядке (спутать 2112^{11} и 2122^{12}) обнуляет весь верный ход решения.

Как задание 13 связано с остальным экзаменом

Задание 13 стоит особняком — оно единственное на КЕГЭ, где вопрос посвящён именно сетевой адресации. Но приёмы работы с двоичной записью, которые оно тренирует, пригодятся и в других заданиях:

  • Задание 4 — тоже требует уверенного перевода чисел в двоичную запись, только в контексте кодирования и условия Фано.
  • Задание 14 — позиционные системы счисления, следующая по порядку линия повышенного уровня, тоже про перевод чисел между основаниями.
  • Задание 22 — многопроцессорные системы, тот же раздел кодификатора «Цифровая грамотность».

Полезные ссылки по теме:

План подготовки

Неделя 1: база

Выучите таблицу степеней двойки от 212^1 до 2162^{16}. Потренируйтесь переводить отдельные байты (0–255) в двоичный вид без калькулятора — 15–20 чисел в день. Разберите операцию поразрядной конъюнкции на 5–7 маленьких примерах (можно на 4-битных числах, чтобы не отвлекаться на длину записи).

Неделя 2: подтип «дана сеть»

Решите 10–15 заданий подтипа «сколько адресов удовлетворяют условию». На каждом сначала найдите байт с границей маски и зафиксируйте, сколько битов свободно, и только потом считайте условие. Обязательно проверяйте себя: пишите к каждому заданию маленькую Python-программу с перебором и сверяйте с ручным счётом.

Неделя 3: подтип «сколько масок»

Разберите 8–10 заданий на поиск числа возможных масок по узлу и адресу сети. Отработайте нахождение нижней границы (по последней единице адреса сети) и верхней границы (по первому расхождению узла и сети) как отдельный, самостоятельный навык.

Неделя 4: смешанная практика и скорость

Пройдите пробный экзамен КЕГЭ целиком, засекая время на задание 13 отдельно. Цель — укладываться в 3 минуты на задание (это и есть примерное время выполнения задания по спецификации ФИПИ), включая проверку ответа и запись в нужном формате (число или IP-адрес без разделителей).

Проверьте себя прямо сейчас

Решите подборку заданий 13 из открытого банка ФИПИ и сразу узнайте, где ошиблись.

Решать задание 13
Частые вопросы

Часто задаваемые вопросы

Маска подсети — это 32-битное число, в котором слева стоят подряд идущие единицы, а справа — подряд идущие нули. Единицы показывают, какая часть IP-адреса относится к адресу сети, а нули — какая часть отведена под номер узла внутри этой сети. Например, маска 255.255.255.0 в двоичном виде — 24 единицы и 8 нулей: первые три байта задают сеть, последний байт — номер узла.

Нужно применить поразрядную конъюнкцию (побитовое И) к адресу узла и маске: там, где в маске стоит единица, бит адреса сохраняется без изменений, а там, где в маске ноль, бит адреса обнуляется. Проще всего перевести в двоичный вид только тот байт, где маска меняется с единиц на нули, — остальные байты либо полностью сохраняются (маска 255), либо полностью обнуляются (маска 0).

Если в маске k нулей, то всего в подсети 2^k адресов, но реально назначить узлам можно только 2^k − 2, потому что два адреса зарезервированы: адрес со всеми нулями в свободной части — это адрес самой сети, а адрес со всеми единицами — широковещательный (broadcast) адрес. Если вопрос задания спрашивает про количество IP-адресов, а не про количество узлов, вычитать 2 не нужно.

Если ответ — число (количество адресов, узлов, масок), его пишут обычными цифрами без пробелов. Если ответ — сам IP-адрес, по инструкции ФИПИ его нужно записать без разделителей, то есть без точек: например, адрес 192.168.1.1 записывается как 19216811 — четыре десятичных значения подряд.

В первом подтипе дана готовая сеть — IP-адрес и маска, — и нужно посчитать, сколько адресов подсети удовлетворяют какому-то условию (например, чётности суммы единиц или наличию трёх единиц подряд). Во втором подтипе, наоборот, дан адрес узла и адрес сети, а найти нужно, скольким различным маскам такое соответствие возможно.

Маска задаёт границу ровно в одном байте — байты левее этой границы всегда состоят из одних единиц маски и полностью сохраняются, байты правее состоят из одних нулей маски и полностью обнуляются. Значит, у всех адресов одной подсети три из четырёх байтов одинаковы, и переводить их в двоичный вид заново для каждого варианта не нужно — это только увеличивает риск арифметической ошибки.

Да, экзамен сдаётся за компьютером, и в числе доступных сред — Python. Но задание 13 не требует прикреплённого файла и обычно решается быстрее вручную, если владеть приёмом «переводим только меняющийся байт». Python удобно использовать для самопроверки при подготовке — написать перебор и сверить с результатом, полученным на бумаге.

Задание 13 относится к разделу «Цифровая грамотность», проверяемый элемент содержания — 1.2, посвящённый принципам адресации в сети и работе с IP-адресами и масками подсети. Уровень сложности — повышенный, за верный ответ дают 1 первичный балл.