Фон
Натхненний цим питанням Unix.SE (і звичайно моєю власною відповіддю ).
Коли для інтерфейсу вказана IP-адреса, вона часто надається у цій крапково-десятковій формі:
a.b.c.d e.f.g.h
де a.b.c.dфактична адреса та e.f.g.hчимальна маска.
Маска мережі, якщо вона представлена у двійковій формі, - це, як правило, купа 1біт, а за ними - 0біт. Коли мережна маска є побітною ANDed проти заданої IP-адреси, результатом буде мережева частина адреси або просто мережева адреса . Це буде запрограмовано у таблиці маршрутів хоста, щоб хост знав надсилати все, що призначено для цієї мережі, із цього інтерфейсу.
Адреса широкомовної мережі для мережі отримується шляхом прийняття адреси мережі (зверху) і встановлення всіх бітів хоста на 1. Адреса широкомовної передачі використовується для надсилання на всі адреси в межах даної мережі.
Виклик
Враховуючи пунктирно-десяткову IP-адресу та дійсну мережну маску як вхід, введіть мережеву адресу та адресу широкомовної інформації як вихідну, також у крапково-десятковому форматі.
- Вхід має бути адресою та маскою як два рядки у крапково-десятковому форматі. Ви можете передавати це як два окремі рядки, як список або масив з 2-х рядкових елементів або одну рядок з адресою та маскою, розділеними деяким чутливим роздільником.
- Формат виводу підпадає під ті ж обмеження, що і формат введення.
Приклади
Input Output
192.168.0.1 255.255.255.0 192.168.0.0 192.168.0.255
192.168.0.0 255.255.255.0 192.168.0.0 192.168.0.255
192.168.0.255 255.255.255.0 192.168.0.0 192.168.0.255
100.200.100.200 255.255.255.255 100.200.100.200 100.200.100.200
1.2.3.4 0.0.0.0 0.0.0.0 255.255.255.255
10.25.30.40 255.252.0.0 10.24.0.0 10.27.255.255
252в ньому.
10.24.0.0 10.27.255.255?