# Sides of right angled triangle from given area and hypotenuse in Python

In this article, we will learn how to find all the sides of a right-angled triangle from a given area and hypotenuse in Python.

Examples

```Input: hypotenuse = 10, area = 24
Output: Base = 6, Height = 8

Input: hypotenuse = 5, area = 10
Output: No triangle possible```

Some of the property of a right-angled triangle are

Let’s consider a right-angle triangle with height a, base b the hypotenuse c will be

c² = a² + b²

A right-angle triangle will have a maximum area when both the base and height to each other.

## All the sides of a right-angled triangle from a given area and hypotenuse in Python

1. Firstly create a function area() that takes base, the hypotenuse as arguments.

• Calculate the height using the base and hypotenuse height = math.sqrt(hypotenuse*hypotenuse – base*base).
• return the area of the triangle 0.5 * height * base.

2. Now create a function idesOfRightAngleTriangle() that calculates the sides of the triangle

• Firstly, calculate the maximum possible side when the area is maximum. and calculate the area using the area() function.
• Compare given the area a with the maximum area, if a>maxArea then print “No possible”.
• Using binary search calculate the base and the height of the triagle.
```import math

def area(base, hypotenuse):
height = math.sqrt(hypotenuse*hypotenuse - base*base)
return 0.5 * base * height

def sidesOfRightAngleTriangle(h, a):
hsqrt = h*h
maxAreaSide = math.sqrt(hsqrt/2.0)
maxArea = area(maxAreaSide, h)

if (a>maxArea):
print("No possible")
return

low = 0.0
high = maxAreaSide
while (abs(high-low)>1e-6):
base = (low+high)/2.0
if (area(base, h) >= a):
high = base
else:
low = base
height = math.ceil(math.sqrt(hsqrt - base*base))
base = math.floor(base)
print("Base: ", base)
print("Height: ", height)
h = int(input("Enter the hypotenuse: "))
a = int(input("Enter the area: "))
sidesOfRightAngleTriangle(h, a)```

Output

```Enter the hypotenuse: 5
Enter the area: 6
Base: 3
Height: 4

Enter the hypotenuse: 5
Enter the area: 7
No possible```