Задание 13. Информатика. ЕГЭ. Поляков-6906
- Просмотры: 125
- Изменено: 25 ноября 2024
(А. Минак) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом \(139.75.100.0\) и маской сети \(255.255.252.0\). Сколько в этой сети IP-адресов, у которых в последнем (правом) байте двоичной записи IP-адреса записано число Мерсенна, т. е. число вида \(2^n - 1\), где \(n\) – натуральное число.
Решение:
Третий байт маски сети \(252_{10} = 11111100_2\). С учётом того, что четвёртый байт маски нулевой, получаем, что для номера компьютера в сети при такой маске выделено \(10\) младших битов.
Python
net = (139 << 24) + (75 << 16) + (100 << 8)
q = 0
mersenn = [2**n - 1 for n in range(1, 9)]
for x in range(2**10):
ip = net + x
if ip & 255 in mersenn:
q += 1
print(q)
Ответ: \(32\)