В терминологии сетей TCP/IP маска сети — это двоичное число, меньшее 232; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.
Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.
Сеть задана IP-адресом 205.182.128.0 и маской сети 255.255.192.0.
Сколько в этой сети IP-адресов, в которых одинаковое количество нулей и единиц в третьем байте адреса?
Приведём аналитическое решение Юрия Красильникова.
Третий байт адреса сети (128) в двоичной записи - 10000000
Третий байт маски (192) - 11000000
Следовательно, третий байт IP-адреса должен иметь вид 10xxxxxx, каждый x - произвольный бит (или 0, или 1)
Чтобы количество нулей и единиц в третьем байте было одинаковым, то в "xxxxxx" должны содержаться 3 нуля и 3 единицы.
Количество 6-разрядных чисел, в которых 3 единицы - это число сочетаний из 6 по 3, т. е. 20.
При этом четвертый байт может принимать все возможные значения, их 28=256.
Итого число IP-адресов равно 20 · 256=5120.
Приведём решение на языке Python.
from itertools import product as p
print(sum(1 for s in p('01', repeat=6) if (v:='10'+''.join(s)) and v.count('1') == 4) * 2**8)
Ответ: 5120.

