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

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 \angle ABC = X then \angle CGF = 90 - X as GCF is right angled triangle.
Therefore,
\angle HGD = 180 - \angle FGH - \angle CGF
=> \angle HGD = 180 - 90 - (90 - X)
=> \angle HGD = X



Similarly,
\angle EHA = X
\angle FEB = X

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:

Area = (AE + EB)*(AH + HD)

Area = (L*sin(X)+ W*cox(X))*(L*cos(X) + W*sin(X))

Area = ((L^{2} + W^{2})*sin(X)*cos(X) + L*W)

Area = (\frac{(L^{2} + W^{2})*sin(2X)}{2} + L*W)

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,
Area = (\frac{(L^{2} + W^{2})}{2} + L*W)

Area = (\frac{(L+W)^{2}}{2})

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

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


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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


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.