Найти в Дзене

💡 Задание 13 ЕГЭ. Решаем за 2 минуты на Python

Вы когда-нибудь смотрели на задачу про IP-адреса и маски сети и думали: «Ну всё, это конец. Надо бросить информатику»? Я вас понимаю.
Потому что это задание — настоящий кошмар для тех, кто пытается решать его вручную. Двоичные числа, поразрядная конъюнкция, широковещательный адрес… Голова идёт кругом! Но сегодня я покажу вам секрет, который превратит эту задачу из ужаса в простую строку кода. Рассмотрим задачу, которая уже была на экзамене. 🧩 Условие задачи Сеть задана IP-адресом одного из входящих в неё узлов 218.194.82.148 и сетевой маской 255.255.255.192. Найдите наибольший IP-адрес в данной сети, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Чтобы решить это вручную, нужно: Это минут 20, если вы не супергерой. И шанс ошибиться — 99%. Ответ: 21819482190 1. from ipaddress import * 2. net = ip_network(f'218.194.82.148/255.255.255.192', 0) 3. print(net[-2]) Python автоматически: Никаких двоичных переводов, никаких AND — всё за вас делае
Оглавление

Вы когда-нибудь смотрели на задачу про IP-адреса и маски сети и думали: «Ну всё, это конец. Надо бросить информатику»?

Я вас понимаю.
Потому что
это задание — настоящий кошмар для тех, кто пытается решать его вручную. Двоичные числа, поразрядная конъюнкция, широковещательный адрес… Голова идёт кругом!

Но сегодня я покажу вам секрет, который превратит эту задачу из ужаса в простую строку кода. Рассмотрим задачу, которая уже была на экзамене.

🧩 Условие задачи

Сеть задана IP-адресом одного из входящих в неё узлов 218.194.82.148 и сетевой маской 255.255.255.192.
Найдите наибольший IP-адрес в данной сети, который может быть назначен компьютеру.
В ответе укажите найденный IP-адрес без разделителей.

🚫 Почему ручное решение — это пытка?

Чтобы решить это вручную, нужно:

  1. Перевести IP-адрес и маску в двоичную систему.
  2. Выполнить поразрядную конъюнкцию (AND) → получить адрес сети.
  3. Определить, какие биты отведены под хосты (где в маске нули).
  4. Записать максимальный возможный адрес хоста (все биты хостовой части = 1, кроме последнего — он зарезервирован под широковещательный адрес).
  5. Перевести обратно в десятичную систему.

Это минут 20, если вы не супергерой. И шанс ошибиться — 99%.

✅ Как решить за 2 минуты на Python? Просто поймите этот код:

Ответ: 21819482190

🔍 Что делает каждая строчка кода? Разберём по полочкам:

1. from ipaddress import *

  • Это подключение стандартной библиотеки Python ipaddress, которая умеет работать с IP-адресами, сетями и масками.
  • * означает — импортировать все функции и классы из этой библиотеки.

2. net = ip_network(f'218.194.82.148/255.255.255.192', 0)

  • ip_network() — функция, которая создаёт объект сети на основе IP-адреса и маски.
  • f'...' — f-строка, позволяет вставлять переменные внутрь строки (здесь просто удобно записать IP и маску).
  • 218.194.82.148/255.255.255.192 — это CIDR-запись: IP-адрес + маска.
  • , 0 — параметр, который говорит: «не проверяй, что IP-адрес действительно принадлежит сети». Без него Python может выдать ошибку, если адрес не попадает в диапазон.

3. print(net[-2])

  • net — это объект сети, который содержит все IP-адреса в этой сети.
  • net[-2] — это предпоследний адрес в сети.
  • Почему -2? Потому что:net[0] — адрес сети (например, 218.194.82.128)
    net[-1] — широковещательный адрес (например, 218.194.82.191) —
    нельзя назначать компьютеру
    net[-2] — наибольший доступный адрес для компьютера — именно то, что спрашивают!

💡 Почему это работает?

Python автоматически:

  • Находит адрес сети.
  • Определяет размер хостовой части.
  • Генерирует все возможные адреса.
  • Возвращает нужный — предпоследний.

Никаких двоичных переводов, никаких AND — всё за вас делает библиотека.

🎯 Главный вывод

  • Задание 13 — не про знание сетей, а про умение использовать инструменты.
  • На Python — 2 минуты.
  • Вручную — 20 минут и риск ошибки.

💬 А вы уже пробовали решать такие задачи на Python?

Пишите в комментариях, какой способ вам кажется проще!

📣 Подписывайтесь на мой канал!

Я — репетитор по подготовке к ЕГЭ по информатике с 15-летним стажем.
На моём канале вы найдёте:

  • Разбор всех типов задач ЕГЭ (от 1 до 27)
  • Шпаргалки, шаблоны кода, лайфхаки
  • Реальные варианты, которые были на экзамене

👉 Подписывайтесь — и вы тоже будете решать задачи за пару минут!

Удачи на ЕГЭ! Вы справитесь! 💪

-2