Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Сеть задана IP-адресом 255.215.12.5 и маской сети 255.255.А.0, где А – некоторое допустимое для записи маски число.
Определите минимальное значение А, для которого для всех IP-адресов этой сети в двоичной записи IP-адреса суммарное количество нулей в левых двух байтах не более суммарного количества нулей в правых двух байтах.
В ответе укажите только число.
Правильный ответ:
192
from ipaddress import ip_network, ip_address
ip = ip_address('255.215.12.5')
for A in range(16, 24):
net = ip_network(f'{ip}/{A}', False)
if all(f'{int(ip):032b}'[:16].count('0') <=
f'{int(ip):032b}'[16:].count('0')
for ip in net):
res_mask = str(net.netmask).split('.')
print(res_mask[2])
break
