Given a rectangle of dimensions **L** and **W**. The task is to find the maximum area of a rectangle that can be circumscribed about a given rectangle with dimensions **L** and **W**.

**Examples:**

Input:L = 10, W = 10Output:200

Input:L = 18, W = 12Output:450

**Approach:** Let below is the given rectangle **EFGH** of dimensions **L** and **W**. We have to find the area of rectangle **ABCD** which is circumscribing rectangle **EFGH**.

In the above figure:

If then as GCF is right angled triangle.

Therefore,

=>

=>

Similarly,

Now, The area of rectangle ABCD is given by:

Area = AB * AD

Area = (AE + EB)*(AH + HD) …..(1)

According to the projection rule:

AE = L*sin(X)

EB = W*cos(X)

AH = L*cos(X)

HD = W*sin(X)

Substituting the value of the above projections in equation (1) we have:

Now to maximize the area, the value of sin(2X) must be maximum i.e., 1.

Therefore after substituting sin(2X) as 1 we have,

Below is the implementation of the above approach:

## C++

`// C++ program for the above approach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find area of rectangle ` `// inscribed another rectangle of ` `// length L and width W ` `double` `AreaofRectangle(` `int` `L, ` `int` `W) ` `{ ` ` ` ` ` `// Area of rectangle ` ` ` `double` `area = (W + L) * (W + L) / 2; ` ` ` ` ` `// Return the area ` ` ` `return` `area; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` ` ` `// Given dimensions ` ` ` `int` `L = 18; ` ` ` `int` `W = 12; ` ` ` ` ` `// Function call ` ` ` `cout << AreaofRectangle(L, W); ` ` ` `return` `0; ` `} ` ` ` `// This code is contributed by Princi Singh ` |

*chevron_right*

*filter_none*

## Java

`// Java program for the above approach ` `import` `java.io.*; ` `import` `java.util.*; ` ` ` `class` `GFG{ ` ` ` `// Function to find area of rectangle ` `// inscribed another rectangle of ` `// length L and width W ` `static` `double` `AreaofRectangle(` `int` `L, ` `int` `W) ` `{ ` ` ` ` ` `// Area of rectangle ` ` ` `double` `area = (W + L) * (W + L) / ` `2` `; ` ` ` ` ` `// Return the area ` ` ` `return` `area; ` `} ` ` ` `// Driver Code ` `public` `static` `void` `main(String args[]) ` `{ ` ` ` ` ` `// Given dimensions ` ` ` `int` `L = ` `18` `; ` ` ` `int` `W = ` `12` `; ` ` ` ` ` `// Function call ` ` ` `System.out.println(AreaofRectangle(L, W)); ` `} ` `} ` ` ` `// This code is contributed by offbeat ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program for the above approach ` ` ` `# Function to find area of rectangle ` `# inscribed another rectangle of ` `# length L and width W ` `def` `AreaofRectangle(L, W): ` ` ` ` ` `# Area of rectangle ` ` ` `area ` `=` `(W ` `+` `L)` `*` `(W ` `+` `L)` `/` `2` ` ` `# Return the area ` ` ` `return` `area ` ` ` `# Driver Code ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` ` ` `# Given Dimensions ` ` ` `L ` `=` `18` ` ` `W ` `=` `12` ` ` ` ` `# Function Call ` ` ` `print` `(AreaofRectangle(L, W)) ` |

*chevron_right*

*filter_none*

## C#

`// C# program for the above approach ` `using` `System; ` ` ` `class` `GFG{ ` ` ` `// Function to find area of rectangle ` `// inscribed another rectangle of ` `// length L and width W ` `static` `double` `AreaofRectangle(` `int` `L, ` `int` `W) ` `{ ` ` ` ` ` `// Area of rectangle ` ` ` `double` `area = (W + L) * (W + L) / 2; ` ` ` ` ` `// Return the area ` ` ` `return` `area; ` `} ` ` ` `// Driver Code ` `public` `static` `void` `Main(String []args) ` `{ ` ` ` ` ` `// Given dimensions ` ` ` `int` `L = 18; ` ` ` `int` `W = 12; ` ` ` ` ` `// Function call ` ` ` `Console.Write(AreaofRectangle(L, W)); ` `} ` `} ` ` ` `// This code is contributed by shivanisinghss2110 ` |

*chevron_right*

*filter_none*

**Output:**

450.0

**Time Complexity:** *O(1)*

**Auxiliary Space:** *O(1)*

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.