ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 10101. Типовая задача

Сеть задана IP-адресом 142.108.56.118 и сетевой маской 255.255.255.240.
Сколько в этой сети IP-адресов, для которых в двоичной записи IP-адреса суммарное количество единиц в левых двух байтах меньше суммарного количества единиц в правых двух байтах?

В ответе укажите только число

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)
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие