Форум » Адресация в Интернете » № 7006, не понимаю в чем ошибка по условию. » Ответить

№ 7006, не понимаю в чем ошибка по условию.

Алексей21: (А. Минак) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом 216.130.64.0 и маской сети 255.255.192.0. Сколько в этой сети IP-адресов, которые не имеют ни одного байта с нечётным значением? IP-адрес сети учитывать не следует. from ipaddress import * k=0 net=ip_network('216.130.64.0/255.255.192.0') for ip in net: b=bin(int(ip))[2:].zfill(32) if b.count('1')%2!=0: k+=1 print(k)

Ответов - 1

elpov06: Вы неверно поняли, байт с четным значением, у Вас четные числа. Я использую такую программу [pre2] from ipaddress import * k=0 net=ip_network('216.130.64.0/255.255.192.0') for ip in net: a,b,c,d= (str(ip).split(".")) if int(a)%2==0 and int(b)%2==0 and int(c)%2==0 and int(d)%2==0: k+=1 print(k-1)[/pre2]



полная версия страницы