Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Сеть задана IP-адресом 142.108.56.118 и сетевой маской 255.255.255.240.
Сколько в этой сети IP-адресов, для которых в двоичной записи IP-адреса суммарное количество единиц в левых двух байтах меньше суммарного количества единиц в правых двух байтах?
В ответе укажите только число
Правильный ответ:
5
from ipaddress import ip_network
net = ip_network('142.108.56.118/255.255.255.240',
False)
cnt = 0
for i in net:
ip = f'{int(i):032b}'
two_left = ip[:16]
two_right = ip[16:]
if two_left.count('1') < two_right.count('1'):
cnt += 1
print(cnt)
