№10 · решено
Наименьшее A
Сеть задана IP-адресом 172.16.A.0 и маской 255.255.255.240, где A это число от 0 до 255. При каком наименьшем A каждый IP-адрес этой сети содержит в двоичной записи не менее 11 единиц?
Учебная задача
Ответвпиши то, что вывела программа
Показать разбор
- Перебирай A от 0 до 255 по возрастанию.
- Для каждого A создай сеть, подставив A в адрес через f-строку.
- Функцией all проверь, что у каждого адреса сети не меньше 11 единиц.
- На первом подошедшем A выведи его и останови цикл.
from ipaddress import ip_network
for A in range(0, 256):
net = ip_network(f'172.16.{A}.0/255.255.255.240')
if all(f'{ip:b}'.count('1') >= 11 for ip in net):
print(A)
break