В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы.
Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.
Сеть задана IP-адресом 178.176.0.0 и сетевой маской 255.240.0.0.
Определите наибольшую сумму числовых значений октетов IP-адреса устройства (компьютера) из этой сети, у которого количество единиц и количество нулей в двоичной записи одинаково.
В ответе укажите только число.
Приведём решение на языке Python.
from ipaddress import *
net = ip_network('178.176.0.0/255.240.0.0')
otv = []
for ip in net:
ip_ad = bin(int(ip))[2:]
if ip_ad.count('1') == ip_ad.count('0'):
otv.append(sum([int(i) for i in str(ip).split('.')]))
print(max(otv))
Ответ: 842.

