Area of a largest square fit in a right angle triangle
Last Updated :
06 Apr, 2023
Given a right angled triangle with height l, base b & hypotenuse h.We need to find the area of the largest square that can fit in the right angled triangle.
Examples:
Input: l = 3, b = 4, h = 5
Output: 2.93878
The biggest square that can fit inside
is of 1.71428 * 1.71428 dimension
Input: l = 5, b = 12, h = 13
Output: 12.4567
Considering the above diagram, we see,tanx = l/b.
Here it is also true that, tanx = a/(b-a).
So, l/b = a/(b-a) which means that, a = (l*b)/(l+b)
Below is the required implementation:
C++
#include <bits/stdc++.h>
using namespace std;
float squareArea( float l, float b, float h)
{
if (l < 0 || b < 0 || h < 0)
return -1;
float a = (l * b) / (l + b);
return a * a;
}
int main()
{
float l = 5, b = 12, h = 13;
cout << squareArea(l, b, h) << endl;
return 0;
}
|
Java
public class GFG {
static float squareArea( float l, float b, float h)
{
if (l < 0 || b < 0 || h < 0 )
return - 1 ;
float a = (l * b) / (l + b);
return a * a;
}
public static void main(String[] args) {
float l = 5 , b = 12 , h = 13 ;
System.out.println(squareArea(l, b, h));
}
}
|
Python3
def squareArea(l, b, h) :
if l < 0 or b < 0 or h < 0 :
return - 1
a = (l * b) / (l + b)
return a * a
if __name__ = = "__main__" :
l, b, h = 5 , 12 , 13
print ( round (squareArea(l, b, h), 4 ))
|
C#
using System;
class GFG
{
static float squareArea( float l, float b,
float h)
{
if (l < 0 || b < 0 || h < 0)
return -1;
float a = (l * b) / (l + b);
return a * a;
}
public static void Main()
{
float l = 5, b = 12, h = 13;
Console.WriteLine(squareArea(l, b, h));
}
}
|
PHP
<?php
function squareArea( $l , $b , $h )
{
if ( $l < 0 || $b < 0 || $h < 0)
return -1;
$a = ( $l * $b ) / ( $l + $b );
return $a * $a ;
}
$l = 5;
$b = 12;
$h = 13;
echo round (squareArea( $l , $b , $h ), 4);
?>
|
Javascript
<script>
function squareArea(l , b , h)
{
if (l < 0 || b < 0 || h < 0)
return -1;
var a = (l * b) / (l + b);
return a * a;
}
var l = 5, b = 12, h = 13;
document.write(squareArea(l, b, h).toFixed(4));
</script>
|
Time complexity: O(1)
space complexity: O(1)
Example in c :
Approach
1. Find the length of the hypotenuse of the triangle using the Pythagorean theorem.
2. Divide the hypotenuse by sqrt(2) to get the side length of the largest square that can fit inside the triangle.
3. Calculate the area of the square using the formula area = side_length * side_length.
C
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, side_length, area;
a = 3.0;
b = 4.0;
c = sqrt (a * a + b * b);
side_length = c / sqrt (2);
area = side_length * side_length;
printf ( "The area of the largest square that can fit inside the right-angled triangle is %f\n" , area);
return 0;
}
|
C++
#include <bits/stdc++.h>
using namespace std;
int main() {
double a, b, c, side_length, area;
a = 3.0;
b = 4.0;
c = sqrt (a * a + b * b);
side_length = c / sqrt (2);
area = side_length * side_length;
cout << "The area of the largest square that can fit inside the right-angled triangle is " << area << std::endl;
return 0;
}
|
Java
import java.lang.Math;
public class Main {
public static void main(String[] args) {
double a, b, c, side_length, area;
a = 3.0 ;
b = 4.0 ;
c = Math.sqrt(a * a + b * b);
side_length = c / Math.sqrt( 2 );
area = side_length * side_length;
System.out.println( "The area of the largest square that can fit inside the right-angled triangle is " + area);
}
}
|
Python3
import math
a, b = 3.0 , 4.0
c = math.sqrt(a * * 2 + b * * 2 )
side_length = c / math.sqrt( 2 )
area = side_length * * 2
print ( "The area of the largest square that can fit inside the right-angled triangle is" , area)
|
Javascript
let a = 3.0, b = 4.0;
let c = Math.sqrt(a ** 2 + b ** 2);
let side_length = c / Math.sqrt(2);
let area = side_length ** 2;
console.log( "The area of the largest square that can fit inside the right-angled triangle is" , area);
|
C#
using System;
class MainClass {
static void Main()
{
double a, b, c, side_length, area;
a = 3.0;
b = 4.0;
c = Math.Sqrt(a * a + b * b);
side_length
= c
/ Math.Sqrt(
2);
area = side_length
* side_length;
Console.WriteLine(
"The area of the largest square that can fit inside the right-angled triangle is "
+ area);
}
}
|
Output
The area of the largest square that can fit inside the right-angled triangle is 12.500000
The time complexity of this code is O(1), as all the calculations are done in constant time, regardless of the input values.
The auxiliary space of the code is also O(1), as we are only storing a few variables, which do not depend on the size of the input.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...