Информатика: ОГЭ и ЕГЭ

Тренировка ЕГЭ · задание 10 · адреса узлов сети с условием

Задание 10 ЕГЭ: адреса узлов сети с условием

Адреса узлов сети с условием на запись. Тема номера — ip-адрес и маска сети. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.

Пример

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается поразрядной конъюнкцией IP-адреса узла и маски.

Сеть задана IP-адресом одного из её узлов 209.13.237.203 и маской 255.255.192.0. Сколько в этой сети IP-адресов, количество единиц в двоичной записи которых кратно 4? Адрес сети и широковещательный адрес (все биты адреса узла — единицы) узлам не присваиваются и не учитываются.

В ответе укажите только число.

Ответ4160

Решение

Маска 255.255.192.0 — это 18 единиц, на адрес узла остаётся 14 бит: в сети 16384 адресов, из них два служебных. Перебираем остальные и считаем единицы в 32-битной записи.

Ответ: 4160.

from ipaddress import ip_network

net = ip_network('209.13.237.203/255.255.192.0', strict=False)
cnt = 0
for a in net.hosts():          # без адреса сети и широковещательного
    v = int(a)
    if bin(v).count('1') % 4 == 0:
        cnt += 1
print(cnt)

Решить такую задачу — новый вариант с проверкой

Задание 10 ЕГЭ: другие виды

Все задачи задания 10 вперемешку · разбор: как решать задание 10 · пробные варианты ЕГЭ