Например, если IP-адрес узла равен 131.32.255.131, а маска равна
Условие
В терминологии сетей 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.При этом четвертый байт может принимать все возможные значения, их 2⁸=256.Итого число IP-адресов равно 20 · 256=5120. Приведём решение на языке Python.from itertools import product as pprint(sum(1 for s in p('01', repeat=6) if (v:='10'+''.join(s)) and v.count('1') ==
Осталось ещё 1 шаг
Шаг 2
Бесплатно · займёт минуту