стереть
Класс
8 9 10 11
Нужно авторизоваться
Нужно авторизоваться
Нужно авторизоваться
Нет аккаунта?
При наличии аккаунта на платформе можно
Введите больше 6 символов
Проблемы со входом?
Введи последние 4 цифры номера, с которого
поступит звонок. Трубку брать не нужно.
Повторный звонок через
сек.
Добро пожаловать!
Зарегистрируйся и получи Демо мастер-группы на 10 дней по любимым предметам бесплатно.
Добро пожаловать!
Как тебя зовут?
Введите не меньше 2 символов
Привяжем номер телефона
Введите не меньше 2 символов
Привяжем номер телефона
Повторный звонок через
30 сек.
Теперь нужно подтвердить номер - введи последние 4 цифры номера, с которого поступит звонок. Трубку брать не нужно
Введите не меньше 2 символов
Придумаем пароль
Почти закончили! Теперь нужно создать надежный пароль
Введите не меньше 2 символов
Немного о тебе
В какой класс ты переходишь?
Укажи, какие предметы будешь или хочешь сдавать
Введите не меньше 2 символов
На почту 12345@mail.ru отправлена ссылка для сброса пароля.
OK
Информатика

Задача по теме: "IP-адреса"

Информатика
Задание 13 IP-адреса
Подсказка
За подсказку ты получишь лишь половину баллов
Использовать
Автор
Крылов С.С., Чуркина Т.Е. Информатика: единый государственный экзамен. — Москва: Издательство "Национальное образование", 2024. — 256 с. Материалы публикуются в учебных целях
Просмотры
3363
banner-img

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

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

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

loading
Решение
single-task__solution-banner

Решение:

Напишем программу на языке программирования Python для решения данного задания:

from ipaddress import ip_network
network = ip_network('142.108.56.118/255.255.255.240',False)
count = 0
for ip in network:
    ip_bin = bin(int(ip))[2:]
    if ip_bin[:16].count('1') < ip_bin[16:].count('1'):
        count += 1
print(count)

 

Данный код на Python использует модуль ipaddress для работы с IP-адресами и подсетями. Он выполняет следующие действия:

 

  1. Импортируется функция ip_network из модуля ipaddress.
  2. Создается переменная network, которая содержит подсеть с IP-адресом '142.108.56.118' и маской подсети '255.255.255.240'.
  3. Инициализируется переменная count со значением 0.
  4. В цикле for ip in network происходит итерация по всем IP-адресам в заданной подсети.
  5. Внутри цикла каждый IP-адрес преобразуется в двоичную форму с помощью функции bin(int(ip))[2:].
  6. Проверяется условие: если количество единиц в первых 16 битах IP-адреса меньше количества единиц в оставшихся 16 битах, то увеличивается значение переменной count на 1.
  7. В конце кода выводится значение переменной count, которое представляет собой количество IP-адресов в заданной подсети, удовлетворяющих указанному условию.


Ответ: 5

На экзамене это задание принесло бы тебе 2/2 баллов.
Решать еще

Сообщение об ошибке

Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!

Здравствуйте!

Выберите информацию о себе ниже

pay-success-img

Оплата прошла успешно!

pay-un-success-img

Оплата не прошла

Попробуйте снова