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