public class RightTriangle {
public static void main(String[] args) {
double perimeter = 120;
double 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
double legB = (Math.pow(perimeter - legA, 2) - Math.pow(legA, 2))
/ (2 * (perimeter - legA));
if (legB <= 0) {
System.err.println("No valid right triangle exists with these values.");
return;
}
double hypotenuse = Math.sqrt(legA * legA + legB * legB);
System.out.printf("Leg a: %.3f%n", legA);
System.out.printf("Leg b: %.3f%n", legB);
System.out.printf("Hypotenuse c: %.3f%n", hypotenuse);
}
}
/*
run:
Leg a: 20.000
Leg b: 48.000
Hypotenuse c: 52.000
*/