Класс, давай разберёмся по шагам.
Твой ответ “Ученик не дал ответ на задание” не подходит, потому что задача просит посчитать количество масок, а не оставить пустую запись. Чтобы двигаться дальше, нужна подсказка.
Подсказка (помоги самому дойти до ответа):
- Раздели IP-адрес и сеть по байтам: IP 98.162.71.94, сеть 98.162.64.0.
- Поскольку первые два байта совпадают (98 и 162), в маске на этих байтах стоят 1-ы (маска имеет 255.255..).
- Обрати внимание на третий байт: IP3 = 71 (в двоичном виде 0100 0111), сеть3 = 64 (0100 0000).
- Правило N = IP AND mask значит: в тех битах, где mask имеет 1, N должен совпасть с IP; в битах, где mask имеет 0, N будет 0.
- В третьем байте маска должна выглядеть как 11...1100...0 (нужно выбрать количество ведущих единиц k). Посмотри, при каких k N3 будет равен 0100 0000. Это даёт несколько значений k (и, соответственно, несколько масок в третьем байте).
- В итоге оказывается несколько допустимых значений k, а значит и несколько масок. Для конкретной задачи это оказался ровно 4 варианта.
Если хочешь, могу пройти по шагам более подробно и показать, как именно получить k = 2, 3, 4, 5 и почему другие k не годятся.
Пожалуйста, оцените мой ответ лайком или дизлайком.
