Сколько IP-адресов (2 часть). №13 ЕГЭ

2 часть подборки заданий на определение количества IP-адресов в сети, с определённым количеством единиц. Решение на Python.

Подробнее о решении в 13 задание демо ЕГЭ 2025

Общее для всех заданий пояснение:

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

№B75086

Сеть задана IP-адресом 172.16.168.0 и маской сети 255.255.248.0.

Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 3? В ответе укажите только число.

Программа

IP адресов 2_1

Результат

1366


№6B2DF4

Сеть задана IP-адресом 122.159.136.144 и маской сети 255.255.255.248.

Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 4? В ответе укажите только число.

Решение

Изменения в программе B75086:

network = f'{122:08b}’ + f'{159:08b}’ + f'{136:08b}’ + f'{144:08b}’
mask = f'{255:08b}’ + f'{255:08b}’ + f'{255:08b}’ + f'{248:08b}’

if (network1 + bin(i).count(‘1’)) % 4: cnt += 1

Результат

5


№8219DA

Сеть задана IP-адресом 172.16.168.0 и маской сети 255.255.248.0.

Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 5? В ответе укажите только число.

Решение

Изменения в программе B75086:

network = f'{172:08b}’ + f'{16:08b}’ + f'{168:08b}’ + f'{0:08b}’
mask = f'{255:08b}’ + f'{255:08b}’ + f'{248:08b}’ + f'{0:08b}’

if (network1 + bin(i).count(‘1’)) % 5: cnt += 1

Результат

1663


№580BC7

Сеть задана IP-адресом 172.16.192.0 и маской сети 255.255.192.0.

Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 5? В ответе укажите только число.

Решение

Изменения в программе B75086:

network = f'{172:08b}’ + f'{16:08b}’ + f'{192:08b}’ + f'{0:08b}’
mask = f'{255:08b}’ + f'{255:08b}’ + f'{192:08b}’ + f'{0:08b}’

if (network1 + bin(i).count(‘1’)) % 5: cnt += 1

Результат

13003

Задания из Банка заданий ЕГЭ