给定一个高度为l ,底边为b且斜边为h的直角三角形,我们需要找到可以适合该直角三角形的最大正方形的面积。
例子:
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)
以下是所需的实现:
C++
// C++ Program to find the area of the biggest square
// which can fit inside the right angled traingle
#include
using namespace std;
// Function to find the area of the biggest square
float squareArea(float l, float b, float h)
{
// the height or base or hypotenuse
// cannot be negative
if (l < 0 || b < 0 || h < 0)
return -1;
// side of the square
float a = (l * b) / (l + b);
// squaring to get the area
return a * a;
}
// Driver code
int main()
{
float l = 5, b = 12, h = 13;
cout << squareArea(l, b, h) << endl;
return 0;
}
Java
//Java Program to find the area of the biggest square
//which can fit inside the right angled traingle
public class GFG {
//Function to find the area of the biggest square
static float squareArea(float l, float b, float h)
{
// the height or base or hypotenuse
// cannot be negative
if (l < 0 || b < 0 || h < 0)
return -1;
// side of the square
float a = (l * b) / (l + b);
// squaring to get the area
return a * a;
}
//Driver code
public static void main(String[] args) {
float l = 5, b = 12, h = 13;
System.out.println(squareArea(l, b, h));
}
}
Python 3
# Python 3 Program to find the
# area of the biggest square
# which can fit inside the right
# angled traingle
# Function to find the area of the biggest square
def squareArea(l, b, h) :
# the height or base or hypotenuse
# cannot be negative
if l < 0 or b < 0 or h < 0 :
return -1
# side of the square
a = (l * b) / (l + b)
# squaring to get the area
return a * a
# Driver Code
if __name__ == "__main__" :
l, b, h = 5, 12, 13
print(round(squareArea(l, b, h),4))
# This code is contributed by ANKITRAI1
C#
// C# Program to find the area of
// the biggest square which can
// fit inside the right angled triangle
using System;
class GFG
{
// Function to find the area
// of the biggest square
static float squareArea(float l, float b,
float h)
{
// the height or base or hypotenuse
// cannot be negative
if (l < 0 || b < 0 || h < 0)
return -1;
// side of the square
float a = (l * b) / (l + b);
// squaring to get the area
return a * a;
}
// Driver code
public static void Main()
{
float l = 5, b = 12, h = 13;
Console.WriteLine(squareArea(l, b, h));
}
}
// This code is contributed
// by inder_verma..
PHP
Javascript
输出:
12.4567