IP-адрес состоит из целых чисел, разделённых точками, причём эти числа не должны превышать 255.
Так как только перед числом 30 (Б) стоит точка, то оно должно стоять в конце, ведь иначе из него будут получаться числа, которые больше 255.
С Г начинать мы тоже не можем, ибо при присоединении к нему А или Б будет число, превышающее 255.
Если начинать с А, то к ней нужно будет присоединять Г (ибо при остальных вариантах будет > 255). Так как В на последней позиции, то придётся совмещать Г и Б, а тогда получается слишком большое число.
Значит, начинаем с Б.
Получается, возможен только 1 вариант: 222.125.121.30 (БАГВ).
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, что тоже недопустимо.
program HomeWork;
var a,b,c,P,Pp,S,Ha,Hb,Hc:real;
begin
write('Введите стороны треугольника a, b и c (числа через пробел): '); readln(a,b,c);
P:=a+b+c;
Pp:=P/2;
Ha:=2*sqrt(abs(Pp*(Pp-a)*(Pp-b)*(Pp-c)))/a;
Hb:=2*sqrt(abs(Pp*(Pp-a)*(Pp-b)*(Pp-c)))/b;
Hc:=2*sqrt(abs(Pp*(Pp-a)*(Pp-b)*(Pp-c)))/c;
S:=Hc*c/2;
writeln('Параметры треугольника со сторонами a=', a:0:3, ', b=', b:0:3, ' и c=', c:0:3, ':');
writeln('Периметр: ', P:0:3);
writeln('Площадь: ', S:0:3);
if Pp-a >= 0 then writeln('Высота, опущенная на сторону a: ', Ha:0:3)
else writeln('Высота, опущенная на сторону a (находится вне треугольника): ', Ha:0:3);
if Pp-b >= 0 then writeln('Высота, опущенная на сторону b: ', Hb:0:3)
else writeln('Высота, опущенная на сторону b (находится вне треугольника): ', Hb:0:3);
if Pp-c >= 0 then writeln('Высота, опущенная на сторону c: ', Hc:0:3)
else writeln('Высота, опущенная на сторону c (находится вне треугольника): ', Hc:0:3)
end.