How to calculate the length of legB and hypotenuse of a right-angle triangle with a given perimeter and legA in C++

1 Answer

0 votes
#include <iostream>
#include <cmath>

using std::cout;

int main() {
    double 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
    double legB = (pow(perimeter - legA, 2) - pow(legA, 2)) / (2 * (perimeter - legA));
    
    if (legB <= 0) {
        std::cerr << "No valid right triangle exists with these values.\n";
        return 1;
    }

    double hypotenuse = sqrt(legA * legA + legB * legB);

    cout << std::fixed;
    cout.precision(3);
    cout << "Leg a: " << legA << "\n";
    cout << "Leg b: " << legB << "\n";
    cout << "Hypotenuse: " << hypotenuse << "\n";
}


/*
run:
  
Leg a: 20.000
Leg b: 48.000
Hypotenuse: 52.000
  
*/

 



answered Nov 17, 2025 by avibootz
edited Nov 17, 2025 by avibootz

Related questions

...