Given three integers a, b and c as triplets. Check if it is possible to make right angled triangle or not. Print Yes if possible, else No. 10-18 <= a, b, c <= 1018
Input: 3 4 5 Output: Yes Explanation: Since 3*3 + 4*4 = 5*5 Hence print "Yes" Input: 8 5 13 Since 8 + 5 < 13 which violates the property of triangle. Hence print "No"
For a right angled triangle to be valid it must satisfies the following criteria:-
- a, b and c should be greater then 0.
- Sum of any two sides of triangle must be greater than the third side.
- Pythagorean Theorem i.e., a2 + b2 = c2.
First two conditions can be easily checked but for third condition we have to take care of overflow. Since a, b and c can be large so we can’t compare them directly unless we use python or BigInteger library in Java. For languages like C and C++, we have to reduce the expression in fraction form.
Before comparing the fraction we need convert them in simplified form by dividing the numerator and denominator by gcd of both of them. Now compare both numerator and denominator of both the fractions of LHS and RHS such that if both would become same then it signifies the valid right angled triangle otherwise not.
Yes No Yes
Time complexity: O(log(M)) where M is the Maximum value among a, b and c.
Auxiliary space: O(1)
This article is contributed by Shubham Bansal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check whether triangle is valid or not if sides are given
- Find all sides of a right angled triangle from given hypotenuse and area | Set 1
- Find the hypotenuse of a right angled triangle with given two sides
- Check if a right-angled triangle can be formed by the given coordinates
- Check if a right-angled triangle can be formed by moving any one of the coordinates
- Check whether the triangle is valid or not if angles are given
- Check whether triangle is valid or not if three points are given
- Find the dimensions of Right angled triangle
- Number of possible pairs of Hypotenuse and Area to form right angled triangle
- Area of Circumcircle of a Right Angled Triangle
- Area of Incircle of a Right Angled Triangle
- Find the height of a right-angled triangle whose area is X times its base
- Count of Right-Angled Triangle formed from given N points whose base or perpendicular are parallel to X or Y axis
- Find other two sides of a right angle triangle
- Find other two sides and angles of a right angle triangle
- Number of triangles formed by joining vertices of n-sided polygon with two common sides and no common sides
- Number of ways to arrange 2*N persons on the two sides of a table with X and Y persons on opposite sides
- Check whether Quadrilateral is valid or not if angles are given
- Check whether a large number is divisible by 53 or not
- Biggest Reuleaux Triangle within a Square which is inscribed within a Right angle Triangle