Задача #1651

Компьютерные сети

Уровень ЕГЭ

(М. Ишимов) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 171.128.0.0 и маской сети 255.128.0.0. Сколько в этой сети IP-адресов, для которых в двоичной записи IP-адреса суммарное количество единиц в левых двух байтах меньше суммарного количества единиц в правых двух байтах?
В ответе укажите только число.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

1698160
from ipaddress import *
k = 0
network = ip_network(f'171.128.0.0/255.128.0.0')
for ip in network:
if f'{ip:b}'[:16].count('1') < f'{ip:b}'[16:].count('1'):
k += 1
print(k)
Быстрый переход
Перейти к задаче