В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 123.222.111.192 и маской сети 255.255.255.248.
Сколько в этой сети IP-адресов, для которых сумма единиц в двоичной записи четвёртого байта IP-адреса не делится без остатка на 3? В ответе укажите только число.
Решение:
Решение на Python:
from ipaddress import *
k = 0
for ip in ip_network('123.222.111.192/255.255.255.248', 0):
ip2 = f'{ip:b}'
if ip2.count('1') % 3 != 0: k += 1
print(k)
Ответ: 5
Ответ:
5