Для решения данной задачи следует помнить два правила: IP-адрес состоит из четырех десятичных чисел разделенных точками, интервал каждого десятичного числа от 0 до 255. Нам нужно соединить отрывки адреса(цифры и точки) таким образом, чтобы полученные числа не были больше 255.
Рассмотрим на примере б: у нас есть 4 отрывка, из которых нужно собрать адрес, состоящий из 4 чисел и 3 точек между ними.
Мы понимаем, что отрывок под буквой А(.64) не может быть в начале адреса, так как адрес не может начинаться с точки.
Отрывок под буквой Б(2.16) мог бы идти первым в адресе(т.к. все числа не превосходят 255), однако такое его использование не рационально по отношению к другим отрывкам, таким, как, например, отрывку В(16), который не имеет точек и, следовательно, становится очевидно, что его нужно приставить к какому-то отрывку, чтобы вместе они образовали не большее 255 число.
Давайте найдем пару для отрывка В: простым перебором, смотрим:
пара ВА возможна, но тогда адрес из следующих чисел сложить не получится(16.64 и на выбор остаются либо 2.16, либо 8.132, пробуем подставить первый вариант: 16.642.16 - ошибка, так как число 642>255, со вторым вариантом также) => адрес, начинающийся с ВА - невозможен;
пара ВГ так же невозможна, т.к. следующими возможными адресами будут два: либо 168.1322.16.64 - 1322 > 255 => невозможно, либо 168.132.642.16 - 642 > 255 => невозможно;
остается пара ВБ отходя от которой можно создать существующий адрес IP: 162.168.132.64, где 162 < 255, 168 < 168, 132 < 255, 64 < 255 => возможно;
P.S: если вы умеете мыслить, как программист, попробуйте представлять числа в данных задачах строками, не думайте о том, что числа можно складывать или еще что-то. Эти отрывки - просто набор символов(точек и цифр), из которых операция конкатинации создает адреса, которые уже можно проверять на соответствие условию х =< 255
ответ: б) ВБГА или 162.168.132.64
г) БГДВА или 104.28.239.65
Объяснение:
Для решения данной задачи следует помнить два правила: IP-адрес состоит из четырех десятичных чисел разделенных точками, интервал каждого десятичного числа от 0 до 255. Нам нужно соединить отрывки адреса(цифры и точки) таким образом, чтобы полученные числа не были больше 255.
Рассмотрим на примере б: у нас есть 4 отрывка, из которых нужно собрать адрес, состоящий из 4 чисел и 3 точек между ними.
Мы понимаем, что отрывок под буквой А(.64) не может быть в начале адреса, так как адрес не может начинаться с точки.
Отрывок под буквой Б(2.16) мог бы идти первым в адресе(т.к. все числа не превосходят 255), однако такое его использование не рационально по отношению к другим отрывкам, таким, как, например, отрывку В(16), который не имеет точек и, следовательно, становится очевидно, что его нужно приставить к какому-то отрывку, чтобы вместе они образовали не большее 255 число.
Давайте найдем пару для отрывка В: простым перебором, смотрим:
пара ВА возможна, но тогда адрес из следующих чисел сложить не получится(16.64 и на выбор остаются либо 2.16, либо 8.132, пробуем подставить первый вариант: 16.642.16 - ошибка, так как число 642>255, со вторым вариантом также) => адрес, начинающийся с ВА - невозможен;
пара ВГ так же невозможна, т.к. следующими возможными адресами будут два: либо 168.1322.16.64 - 1322 > 255 => невозможно, либо 168.132.642.16 - 642 > 255 => невозможно;
остается пара ВБ отходя от которой можно создать существующий адрес IP: 162.168.132.64, где 162 < 255, 168 < 168, 132 < 255, 64 < 255 => возможно;
P.S: если вы умеете мыслить, как программист, попробуйте представлять числа в данных задачах строками, не думайте о том, что числа можно складывать или еще что-то. Эти отрывки - просто набор символов(точек и цифр), из которых операция конкатинации создает адреса, которые уже можно проверять на соответствие условию х =< 255
а) ГВАБ
б) АБГВ
в) ВАБГ
г) ДАГБВ