Dados dos números enteros A y theta , que denotan la longitud de un lado de un rombo y el ángulo del vértice respectivamente, la tarea es encontrar la longitud de las diagonales del rombo.
Ejemplos:
Entrada: A = 10, theta = 30
Salida: 19,32 5,18Entrada: A = 6, theta = 45
Salida: 11,09 4,59
Planteamiento:
El problema se puede resolver usando la ley de los cosenos . Usando la ley de los cosenos en los triángulos formados por las diagonales y los lados del rombo se obtiene la siguiente relación para calcular la longitud de las diagonales:
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to implement // the above approach #include <bits/stdc++.h> using namespace std; // Function to calculate the length // of diagonals of a rhombus using // length of sides and vertex angle double Length_Diagonals(int a, double theta) { double p = a * sqrt(2 + (2 * cos( theta * (3.141 / 180)))); double q = a * sqrt(2 - (2 * cos( theta * (3.141 / 180)))); cout << fixed << setprecision(2) << p << " " << q; } // Driver Code int main() { int a = 6; int theta = 45; // Function Call Length_Diagonals(a, theta); return 0; } // This code is contributed by Virusbuddah_
Java
// Java program to implement // the above approach class GFG{ // Function to calculate the length // of diagonals of a rhombus using // length of sides and vertex angle static double[] Length_Diagonals(int a, double theta) { double p = a * Math.sqrt(2 + (2 * Math.cos(theta * (Math.PI / 180)))); double q = a * Math.sqrt(2 - (2 * Math.cos(theta * (Math.PI / 180)))); return new double[]{ p, q }; } // Driver Code public static void main(String[] args) { int A = 6; double theta = 45; double[] ans = Length_Diagonals(A, theta); System.out.printf("%.2f" + " " + "%.2f", ans[0], ans[1]); } } // This code is contributed by Princi Singh
Python3
# Python Program to implement # the above approach import math # Function to calculate the length # of diagonals of a rhombus using # length of sides and vertex angle def Length_Diagonals(a, theta): p = a * math.sqrt(2 + (2 * \ math.cos(math.radians(theta)))) q = a * math.sqrt(2 - (2 * \ math.cos(math.radians(theta)))) return [p, q] # Driver Code A = 6 theta = 45 ans = Length_Diagonals(A, theta) print(round(ans[0], 2), round(ans[1], 2))
C#
// C# program to implement // the above approach using System; class GFG{ // Function to calculate the length // of diagonals of a rhombus using // length of sides and vertex angle static double[] Length_Diagonals(int a, double theta) { double p = a * Math.Sqrt(2 + (2 * Math.Cos(theta * (Math.PI / 180)))); double q = a * Math.Sqrt(2 - (2 * Math.Cos(theta * (Math.PI / 180)))); return new double[]{ p, q }; } // Driver Code public static void Main(String[] args) { int A = 6; double theta = 45; double[] ans = Length_Diagonals(A, theta); Console.Write("{0:F2}" + " " + "{1:F2}", ans[0], ans[1]); } } // This code is contributed by gauravrajput1
Javascript
<script> // JavaScript program for the above approach // Function to calculate the length // of diagonals of a rhombus using // length of sides and vertex angle function Length_Diagonals(a, theta) { let p = a * Math.sqrt(2 + (2 * Math.cos(theta * (Math.PI / 180)))); let q = a * Math.sqrt(2 - (2 * Math.cos(theta * (Math.PI / 180)))); return [ p, q ]; } // Driver Code let A = 6; let theta = 45; let ans = Length_Diagonals(A, theta); document.write(ans[0].toFixed(2) + " " + ans[1].toFixed(2)); </script>
11.09 4.59
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por divyamohan123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA