Задача #3172

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

Уровень ЕГЭ

(А. Ходарин) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Для узла с IP адресом 84.23.84.23 адрес сети равен 84.23.84.0. Чему равно наибольшее значение суммы третьего и четвёртого слева байтов маски?
Например, если бы найденный адрес маски был равен 255.255.255.128, то в ответе следовало бы записать 383.

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

Ответ

479
from ipaddress import *

res = []
for mask in range(33):
net = ip_network(f'84.23.84.23/{mask}', 0)
if net.network_address == ip_address('84.23.84.0'):
byte = [int(x) for x in str(net.netmask).split('.')]
res.append([sum(byte[2:]), net.netmask])
print(max(res))
Быстрый переход
Перейти к задаче