ЕГЭ · ЗАДАНИЕ 13
IP-адреса и маски · №14355
Узел 127.63.67.1 имеет маску 255.255.A.0. Найдите минимальное допустимое A, при котором у каждого адреса сети число единиц в первых двух октетах не меньше числа единиц в последних двух.
Источник задания
Сначала попробуй решить самостоятельно, затем открой разбор. Для автоматической проверки ответа включи JavaScript.
Показать решение по шагам
Разбор решения
Ответ: 240
В первых двух октетах 7+6=13 единиц. Максимум справа получается при единицах во всех свободных битах. Для A=224 правая часть может иметь 14 единиц — не подходит. Для A=240 сеть начинается с третьего октета 64: один фиксированный бит плюс 4+8 свободных дают 13. Меньшие маски имеют ещё больше свободных бит; минимум A=240.
from ipaddress import ip_network
for A in [0,128,192,224,240,248,252,254,255]:
net = ip_network(f'127.63.67.1/255.255.{A}.0', strict=False)
maximum_right = (int(net.broadcast_address) & 65535).bit_count()
if maximum_right <= 127 .bit_count() + 63 .bit_count():
print(A)
break