Найти тему

13 задание ЕГЭ по информатике 2024. За минуту. Сколько в этой сети IP-адресов, для которых сумма единиц в двоичной записи IP-адреса чётна?

Оглавление

Возьмём условия с сайта https://www.kompege.ru/ и https://vk.com/pro100ege68 Спасибо авторам, но решение там "ручное", а мы решим простой программой!!!

Условие

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.

Сеть задана IP-адресом 192.168.32.128 и маской сети 255.255.255.192.

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

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

Решение

from ipaddress import *

count=0

for ip in ip_network('192.168.32.128/255.255.255.192'):

 if format(ip, 'b').count('1') %2==0:

 count+=1

print (count)

1 строка. Импортируем всё, что есть в модуле ipaddress, удобная привычка для ЕГЭ.

2 строка. Обнуляем наш счетчик count, это наш будущий ответ.

3-5 строки. Пишем цикл. Поделили IP-адрес на маску и получили все ip-адреса, которые соответствуют данной сети с помощью format переводим ip в строку, в которой сразу и считаем количество символов ‘1’, сразу проверяя, что это количество кратно 2 (ведь сумма единиц и их количество - это одно и то же). Подошло? Тогда увеличиваем счетчик count на единицу.

Последняя строчка вне цикла. Выводит-принтит результат, кол-во подошедших ip.

Ответ; 32.
Ответ; 32.

Подписывайтесь и оставляйте комментарии, пишите о том, разбор какого задания ещё хотели бы увидеть на моем канале.

Ссылка на мой разбор похожего задания: https://dzen.ru/a/ZlXLf8t0QTA1W-Hl

#13заданиеЕГЭ #егэ2024 #ipadress #информатика #2024

-2

Наука
7 млн интересуются