В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.
Сеть задана IP-адресом одного из входящих в неё узлов 212.184.197.210 и сетевой маской 255.255.224.0.
Найдите наименьший в данной сети IP-адрес, содержащий в своей двоичной записи кратное 5 количество единиц, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей.
Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать 11122344.
##Приведём решение на языке Python.
from ipaddress import ip_network
net = ip_network('212.184.197.210/255.255.224.0', 0)
otv = []
for ip in net:
ipad = bin(int(ip))[2:]
if ipad.count('1') % 5 == 0:
otv.append(str(ip).replace('.',''))
print(otv[1])
Ответ: 21218419231.

