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

№ 10207. Авторская задача

Сеть, в которой содержится узел с IP-адресом 201.154.34.A, задана маской 255.255.255.224, где A — некоторое допустимое для записи IP-адреса число.

Определите количество значений A, для которых у всех узлов в этой сети в двоичной записи количество нулей в третьем байте больше, чем в четвертом.

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

from ipaddress import ip_network, ip_address

mask = '255.255.255.224'

count = 0

for A in range(256):
    ip = ip_address(f'201.154.34.{A}')
    net = ip_network(f'{ip}/{mask}', False)
    if ip in net.hosts():
        if all(
            f'{int(ip):032b}'[16:24].count('0') >
            f'{int(ip):032b}'[24:32].count('0')
            for ip in net.hosts()
        ):
            count += 1

print(count)
Разберём это задание на бесплатном пробном занятии

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

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