Dados dos números enteros A y B , que representan la longitud del eje semi-mayor y semi-menor de una elipse con la ecuación (x 2 / A 2 ) + (y 2 / B 2 ) = 1, la tarea es encontrar el área mínima del triángulo formado por cualquier tangente a la elipse con los ejes coordenados.
Ejemplos:
Entrada: A = 1, B = 2
Salida: 2Entrada: A = 2, B = 3
Salida: 6
Acercarse:
La idea se basa en la observación de que la ecuación de una tangente en la coordenada (A * cosθ, B * sinθ) en la elipse en la figura que se muestra arriba es:
(x * cosθ / A) + (y * senθ / B) = 1
Las coordenadas de P y Q son (A / cosθ, 0) y (0, B / sinθ) respectivamente.
El área del triángulo formado por la tangente a la elipse y los ejes coordenados viene dada por:
Área de ΔOPQ = 0.5 * base * altura = 0.5 * (A / cosθ) * (B / sinθ) = (A * B) / (2 * sinθ * cosθ) = (A * B) / sin2θ
Por lo tanto, Área = ( A * B) / sen2θ — (1)
Para minimizar el área, el valor de sin2θ debe ser el máximo posible, es decir, 1.
Por lo tanto, el área mínima posible es A * B.
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 the minimum area // of triangle formed by any tangent // to ellipse with the coordinate axes void minimumTriangleArea(int a, int b) { // Stores the minimum area int area = a * b; // Print the calculated area cout << area; } // Driver Code int main() { int a = 1, b = 2; minimumTriangleArea(a, b); return 0; }
Java
// Java program for the above approach class GFG{ // Function to find the minimum area // of triangle formed by any tangent // to ellipse with the coordinate axes static void minimumTriangleArea(int a, int b) { // Stores the minimum area int area = a * b; // Print the calculated area System.out.println(area); } // Driver Code public static void main(String[] args) { int a = 1, b = 2; minimumTriangleArea(a, b); } } // This code is contributed by AnkThon
Python3
# Python3 program for the above approach # Function to find the minimum area # of triangle formed by any tangent # to ellipse with the coordinate axes def minimumTriangleArea(a, b): # Stores the minimum area area = a * b # Print the calculated area print(area) # Driver Code a = 1 b = 2 minimumTriangleArea(a, b) # This code is contributed by rohitsingh07052
C#
// C# program for the above approach using System; class GFG{ // Function to find the minimum area // of triangle formed by any tangent // to ellipse with the coordinate axes static void minimumTriangleArea(int a, int b) { // Stores the minimum area int area = a * b; // Print the calculated area Console.WriteLine(area); } // Driver Code public static void Main() { int a = 1, b = 2; minimumTriangleArea(a, b); } } // This code is contributed by ukasp
Javascript
// JavaScript program for the above approach // Function to find the minimum area // of triangle formed by any tangent // to ellipse with the coordinate axes function minimumTriangleArea(a, b) { // Stores the minimum area var area = a * b // Print the calculated area console.log(area) } // Driver Code var a = 1 var b = 2 minimumTriangleArea(a, b) // This code is contributed by AnkThon
2
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por thotasravya28 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA