Задание 13. Информатика. Поляков-6844

(К. Багдасарян) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом 202.75.38.176 и маской сети 255.255.255.240. Сколько в этой сети IP-адресов, у которых в двоичной записи IP-адреса никакие три единицы или три нуля не стоят рядом?

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

Решение:

Python


ip = (202 << 24) + (75 << 16) + (38 << 8) + 176

q =  0

for i in  range(16):
    temp_ip = ip + i
    if bin(temp_ip)[2:].count('111') == 0 and bin(temp_ip)[2:].count('000') == 0:
        q+=1

print(q)

Ответ: \(5\)

Разбор 13 задания на стриме