IP-адрес имеет вид четырех чисел в диапазоне 0-255, разделенных точками.
Выпишем имеющиеся части адреса 2.12 22 .30 5.121 После 121 может следовать только точка или 121 должно быть последним в адресе. а) Рассмотрим вариант с точкой. Такая часть лишь одна и получим 5.121.30 После 30 не может цифр, только точка, потому что число 30х превысит 255. Но элементов с точкой у нас больше нет, следовательно, 5.121.30 - это окончание адреса. Если перед ним поставить 2.12, получим 222.125.131.30 - допустимо. Если поставить 22, получим 2.12225.121.30 - недопустимо б) рассмотрим вариант, когда 5.121 - последний элемент Перед 5 может быть или 22, или 2.12 Вариант с 22 даст нам 225.12 и перед 225 нужна точка, но таких элементов нет. Вариант с 2.12 дает 2.125.121 и перед ним нельзя поставить .30 из-за недопустимого адреса 302. А если поставить 22, получим .30222.125.121, что тоже недопустимо.
begin
SetWindowWidth(800);
SetWindowHeight(900);
SetPenWidth(1);
PutPixel(400, 400, clred);
Line(0, 150, 100, 150);
Line(0, 150, 100, 200);
Line(100, 150, 150, 100);
Line(100, 50, 200, 150);
Line(100, 50, 200, 0);
Line(200, 0, 250, 50);
Line(250, 50, 300, 0);
Line(300, 0, 300, 100);
Line(300, 100, 350, 100);
Line(350, 100, 250, 150);
Line(250, 150, 300, 350);
Line(300, 350, 400, 400);
Line(50, 300, 100, 200);
Line(50, 300, 100, 250);
Line(100, 250, 150, 550);
Line(150, 550, 300, 650);
Line(400, 400, 500, 250);
Line(500, 250, 650, 250);
Line(650, 250, 750, 450);
Line(750, 450, 650, 400);
Line(650, 400, 550, 500);
Line(550, 500, 650, 450);
Line(750, 600, 650, 450);
Line(600, 550, 750, 600);
Line(700, 700, 600, 550);
Line(500, 600, 700, 700);
Line(400, 650, 500, 600);
Line(400, 800, 400, 650);
Line(450, 850, 400, 800);
Line(250, 850, 450, 850);
Line(350, 800, 250, 850);
Line(300, 650, 350, 800);
end.