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: 200Entrada: 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 entonces como MCD es un triángulo rectángulo.
Por lo tanto,
=>
=>
De manera similar,
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:
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,
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>
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