Задания
Версия для печати и копирования в MS Word
Тип 13 № 69891
i

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

Сеть за­да­на IP-ад­ре­сом 106.184.0.0 и мас­кой сети 255.248.0.0.

Сколь­ко в этой сети IP⁠-⁠ад­ре­сов, для ко­то­рых сумма еди­ниц в дво­ич­ной за­пи­си IP⁠-⁠ад­ре­са не крат­на 2?

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

Спрятать решение

Ре­ше­ние.

Рас­смот­рим какая часть IP-ад­ре­са от­но­сить­ся к ад­ре­су сети. Пер­вый байт слева у маски 255, сле­до­ва­тель­но, он от­но­сят­ся к ад­ре­су сети.

Рас­смот­рим вто­рой слева байт маски в дво­ич­ной си­сте­ме счис­ле­ния:

24810  =  1111 10002.

Видим, что пер­вые 5 бит маски от­но­сят­ся к ад­ре­су сети, сле­до­ва­тель­но, остав­ша­я­ся часть от­но­сит­ся к ад­ре­сам узлов. Сле­до­ва­тель­но, для ад­ре­сов узлов вы­де­ле­но 3 бита из вто­ро­го слева байта и 8+8 из тре­тье­го и чет­вер­то­го слева байт. Всего 19 бит.

Всего воз­мож­но 219= 524288 IP⁠-ад­ре­сов, в по­ло­ви­не из ко­то­рых сумма еди­ниц будет крат­но 2. Сле­до­ва­тель­но, в этой сети IP⁠-⁠ад­ре­сов, для ко­то­рых сумма еди­ниц в дво­ич­ной за­пи­си IP⁠-⁠ад­ре­са не крат­на 2:  дробь: чис­ли­тель: 524 288 , зна­ме­на­тель: 2 конец дроби = 262 144.

 

Ответ: 262 144.

 

При­ме­ча­ние.

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

 

При­ведём ре­ше­ние на языке Python.

from ipaddress import ip_network

cnt = 0

for ip in ip_network('106.184.0.0/255.248.0.0'):

new_ip = bin(int(ip))[2:].zfill(32)

if new_ip.count('1') % 2 != 0:

cnt += 1

print(cnt)

 

При­ведём ре­ше­ние Ильи Ан­дри­а­но­ва на языке Python.

from ipaddress import *

net = ip_network('106.184.0.0/255.248.0.0', 0)

cnt = 0

for ip in net:

s = f'{ip:b}'

if s.count('1') % 2 != 0:

cnt += 1

print(cnt)


Аналоги к заданию № 68514: 69891 69922 70540 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 07.06.2024. Ос­нов­ная волна. Даль­ний Во­сток