Задача #3137

Компьютерные сети

Уровень ЕГЭ

(В. Зарянкин) В терминологии сетей TCP/IP wildcard-маской называют двоичное число, которое показывает, какая часть IP-адреса является переменной (то есть может меняться), а какая — фиксированной. Wildcard-маска противоположна маске сети: там, где в маске сети стоят единицы, в wildcard-маске будут нули, и наоборот. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.

Сеть задана IP-адресом 172.16.80.0 и wildcard-маской 0.0.7.255 .

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

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

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

1365
from ipaddress import *

ip = ip_address('0.0.7.255')
mask = f'{ip:b}'.count('0')

net = ip_network(f'172.16.80.0/{mask}')

k = 0
for ip in net:
b = f'{ip:b}'
if b.count('1')%3!=0:
k += 1
print(k)
Быстрый переход
Перейти к задаче