Задание № 13. ЕГЭ по информатике. Определите минимальное значение А (суммарное количество единиц в правых двух байтах больше трёх)

Пример задания.

Задание № 13. ЕГЭ по информатике

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает,  какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой  сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.

Адрес сети равен 183.192.A.0, где А — некоторое допустимое для записи адреса сети число, а маска сети 255.255.252.0.

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

Программа решения задачи на языке Python

d = []

for a in range(256):

    net = ip_network(f'183.192.{a}.0/255.255.252.0',0)

    k = 0

    j = 0

    for ip in net:

        k+=1

        if f'{ip:b}'[16:].count('1')>3:

            j+=1

    if k==j:

        d.append(a)

print(min(d))

Вывод: 60


Комментарии