Área máxima de un Rectángulo que se puede circunscribir alrededor de un Rectángulo dado de tamaño LxW

Dado un rectángulo de dimensiones L y W . La tarea es encontrar el área máxima de un rectángulo que se puede circunscribir alrededor de un rectángulo dado con dimensiones L y W.
 

Ejemplos:

Entrada: L = 10, W = 10
Salida: 200

Entrada: L = 18, W = 12
Salida: 450

Enfoque: Dejemos a continuación el rectángulo dado EFGH de dimensiones L y W . Tenemos que encontrar el área del rectángulo ABCD que circunscribe al rectángulo EFGH
 

En la figura anterior: 
Si  \ángulo ABC = Xentonces  \ángulo CGF = 90 - Xcomo MCD es un triángulo rectángulo. 
Por lo tanto, 
\angle HGD = 180 - \angle FGH - \angle CGF
=>  \angle HGD = 180 - 90 - (90 - X)
=>  \angle HGD = X
De manera similar, 
\angle EHA = X
\angle FEB = X
ahora, el área del rectángulo ABCD viene dada por: 
 

Área = AB * AD 
Área = (AE + EB)*(AH + HD) …..(1) 
 

Según la regla de proyección: 
AE = L*sin(X) 
EB = W*cos(X) 
AH = L*cos(X) 
HD = W*sin(X) 
 

Sustituyendo el valor de las proyecciones anteriores en la ecuación (1) tenemos: 
 

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)
Ahora, para maximizar el área, el valor de sin(2X) debe ser máximo, es decir, 1. 
Por lo tanto, después de sustituir sin(2X) como 1 tenemos, 
Area = (\frac{(L^{2} + W^{2})}{2} + L*W)
Area = (\frac{(L+W)^{2}}{2})
 

A continuación se muestra la implementación del enfoque anterior: 
 

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

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

Javascript

<script>
      // JavaScript program for the above approach
 
      // Function to find area of rectangle
      // inscribed another rectangle of
      // length L and width W
      function AreaofRectangle(L, W) {
        // Area of rectangle
        var area = parseFloat(((W + L) * (W + L)) / 2).toFixed(1);
 
        // Return the area
        return area;
      }
 
      // Driver Code
      // Given dimensions
      var L = 18;
      var W = 12;
 
      // Function call
      document.write(AreaofRectangle(L, W));
    </script>
Producción: 

450.0

 

Tiempo Complejidad: O(1)  
Espacio Auxiliar: O(1)
 

Publicación traducida automáticamente

Artículo escrito por virusbuddha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *