program RightTriangle;
uses
Math; { for Sqrt and Power }
var
perimeter, legA, legB, hypotenuse: Real;
begin
perimeter := 120;
legA := 20;
{ From perimeter: a + b + c = P }
{ From Pythagoras: c = sqrt(a^2 + b^2) }
{ Substitute c into perimeter equation: a + b + sqrt(a^2 + b^2) = P }
{ Solve for legB }
legB := (Power(perimeter - legA, 2) - Power(legA, 2)) / (2 * (perimeter - legA));
if legB <= 0 then
begin
WriteLn('No valid right triangle exists with these values.');
Halt(1);
end;
hypotenuse := Sqrt(legA * legA + legB * legB);
{ Output with formatting }
WriteLn('Leg a: ', legA:0:3);
WriteLn('Leg b: ', legB:0:3);
WriteLn('Hypotenuse: ', hypotenuse:0:3);
end.
(*
run:
Leg a: 20.000
Leg b: 48.000
Hypotenuse: 52.000
*)