Задача № 172
В терминологии сетей ТСР/Р маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной коньюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 112.208.0.0
и маской сети 255.255.128.0
.
Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса кратно 11?
В ответе укажите только число.

ЕГКР 27 апреля 2024 года (Московский пробник)
Прокрути, чтобы прочитать решение задачи
Ты уверен, что хочешь это сделать?
Удачного чтения!
Решение
Код из видео
# подключаем стандартную библиотеку
from ipaddress import IPv4Network
# строим сеть с IP-адресом 112.208.0.0 и маской 255.255.128.0
net = IPv4Network('112.208.0.0/255.255.128.0')
# считаем ответ
count = 0
# перебираем все IP-адреса в сети
for ip in net:
# переводим IP-адрес в двоичную систему счисления
ip2 = bin(int(ip))[2:]
# считаем количество единиц и проверяем кратно ли 11
if ip2.count('1') % 11 == 0:
count += 1
# выводим ответ
print(count)