# Maximum area of a Rectangle that can be circumscribed about a given Rectangle of size LxW

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 = 10
Output: 200

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

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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 = (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    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

## 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

## 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))

## 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

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.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.