Главная / ЕГЭ Информатика / Задание №13 / ID 31883
ID 31883 ЕГЭ Информатика Линия №13 СдамГИА ID: 68246 Анализ информационных моделей
✈️ TG ВК Следующая ⏭️
В терминологии сетей TCP/⁠IP маской сети называется двоичное число, определяющее, какая часть IP-⁠адреса узла сети относится к адресу сети, а какая  — к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места  — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-⁠адресу узла и маске.
Например, если IP-⁠адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Известно, что в составе сети, которой принадлежит IP-⁠адрес 147.222.199.75, есть узел, в IP-⁠адресе которого первый байт совпадает с четвёртым, а второй  — с третьим.
Укажите наименьшее возможное количество принадлежащих этой сети IP-⁠адресов, в двоичной записи которых ровно 14 единиц.
💡 Пошаговый разбор и решение:
Запишем второй узел, в IP-⁠⁠адресе которого первый байт совпадает с четвёртым, а второй  — с третьим: 147.222.222.147.
Выпишем двоичное представление IP-⁠адресов:
147.222.199.75: 10010011.11011110.11000111.01001011,
147.222.222.147: 10010011.11011110.11011110.10010011.
Заметим, что IP-⁠адреса различаются в третьем байте слева. Отличие в 4 бите слева. Соответственно маска будет выглядеть так:
255.255.224.0: 11111111.11111111.11100000.00000000.
В части IP-⁠адресов, соответствующих 1 в маске содержится 12 единиц. По условию задачи, в двоичной записи IP-⁠адресов должно быть ровно 14 единиц. Следовательно, на оставшиеся 13 бит адреса (биты, соответствующие 0 в маске) должно приходиться 2 единицы. Количество способов расставить 2 единицы по 13 местам = :

$\frac{13 \cdot 12}{2} = 78$

Наименьшее возможное количество принадлежащих этой сети IP-⁠⁠адресов, в двоичной записи которых ровно 14 единиц, = 78.

Ответ: 78.

Примечание.
В маске после нуля идут только одни нули.

Приведём решение Валерия Кабаладзе на языке Python.

from ipaddress import *
ipu = '147.222.199.75'
ipu_m = ipu[0:8] + ipu[4:8] + ipu[0:3]
for mask in range(32, 0, -1):
try:
net = ip_network(f'{ipu}/{mask}',0)
c = 0
if ip_address(f'{ipu_m}') in net:
for ip in net:
ipb = f'{ip:b}'
if ipb.count('1') == 14:
c+=1
if c > 0:
print(c)
break

except:
break

Приведём решение Данила Шарлова на языке Python.

from ipaddress import ip_network, ip_address
ipu = '147.222.199.75'
ipu_modified = '147.222.222.147'
for mask in range(32, 0, -1):
network = ip_network(f'{ipu}/{mask}', 0)
count = 0
if ip_address(ipu_modified) in network:
for ip in network:
if bin(int(ip)).count('1') == 14:
count += 1
if count > 0:
print(count)
break

Приведём решение Бориса Савельева на языке Python.

from itertools import product
s=product('01',repeat = 13)
k=0
for i in s:
if (12+i.count('1'))==14:
k+=1
print(k)

Приведём решение Юрия Красильникова на языке Python.

import ipaddress,math
s1 = bin(int(ipaddress.ip_address('147.222.199.75')))[2:].zfill(32) # Двоичное представление 1-го ip-адреса
s2 = bin(int(ipaddress.ip_address('147.222.222.47')))[2:].zfill(32) # Двоичное представление 2-го ip-адреса
for l in range(32):
if s1[l] != s2[l]: break # l - максимальная длина адреса сети (до первого несовпадающего бита)
k = 14-s1[:l].count('1') # количество единиц в номере узла
dnu = 32-l # длина номера узла
print(math.comb(dnu,k)) # число сочетаний из dnu по k
Правильный ответ: 78
📚 Похожие разобранные задания по предмету:
ID 140978 • Задание №18
Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. 15.1 Исполнитель Робот умеет перемещаться по лабир...
Смотреть разбор ↗
ID 33148 • Задание №19
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очеред...
Смотреть разбор ↗
🔗 Другие задания линии №13 по предмету Информатика:
ID 31876 Маской подсети называется 32-⁠разрядное двоичное число, которое определяет, какая часть IP-⁠адр... ID 31877 В терминологии сетей TCP/⁠IP маской подсети называется 32-⁠разрядное двоичное число, определяющ... ID 31878 В терминологии сетей TCP/⁠IP маской подсети называется 32-⁠разрядное двоичное число, определяющ... ID 31879 Если маска подсети 255.255.252.0 и IP-⁠адрес компьютера в сети 226.185.90.162, то номер компьют... ID 31880 В терминологии сетей TCP/⁠IP маской сети называется двоичное число, определяющее, какая часть I...
← Предыдущее задание 📚 Все задания по предмету Следующее задание →