Задание 13. Информатика. ЕГЭ. Шастин. 13.03.2025

Просмотры: 482
Изменено: 14 марта 2025

(Д. Бахтиев) В терминологии сетей ТСР/Р маска сети — это двоичное число, меньшее \(2^{32};\) в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть 1Р-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и 1Р-адрес — в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Для узла с IP-адресом \(221.142.14.0\) адрес подсети равен \(221.142.0.0.\) Сколько существует различных возможных значений маски сети, если известно, что в этой сети не менее \(8000\) узлов? Ответ запишите в виде десятичного числа.

Решение:

Python


ip = (221 << 24) + (142 << 16) + (14 << 8)
net = (221 << 24) + (142 << 16)

q = 0
for p in range(13, 32):
    mask = ((2**32 - 1) << p) & (2**32 - 1)
    q += (ip & mask) == net
print(q)

Ответ: \(5\)