Dada la longitud de un lado a de un triángulo y sus ángulos adyacentes B y C , la tarea es encontrar los dos lados restantes del triángulo.
Entrada: a = 5, B = 62,2, C = 33,5
Salida: 4,44, 2,77
Explicación
Los dos lados restantes del triángulo son b = 4,44488228556699 y c = 2,7733977979419038
Entrada: a = 12, B = 60, C = 30
Salida: 10,39 , 5.99
Explicación
Los dos lados restantes del triángulo son b = 10.392304845413264 y c = 5.999999999999999
Acercarse:
- El ángulo restante se puede calcular mediante el teorema de la suma de ángulos en un triángulo:
- Los otros dos lados del triángulo se pueden calcular usando la fórmula del seno:
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for above approach #include<bits/stdc++.h> using namespace std; // Function for computing other // 2 side of the triangle void findSide(float a, float B, float C) { // Computing angle C float A = 180 - C - B; // Converting A in to radian float radA = M_PI * (A / 180); // Converting B in to radian float radB = M_PI * (B / 180); // Converting C in to radian float radC = M_PI * (C / 180); // Computing length of side b float b = a / sin(radA) * sin(radB); // Computing length of side c float c = a / sin(radA) * sin(radC); cout << fixed << setprecision(15) << b << " "; cout << fixed << setprecision(15) << c; } // Driver code int main() { int a = 12, B = 60, C = 30; // Calling function findSide(a, B, C); } // This code is contributed by ishayadav181
Java
// Java program for above approach import java.util.*; class GFG{ // Function for computing other // 2 side of the triangle static void findSide(double a, double B, double C) { // Computing angle C double A = 180 - C - B; // Converting A in to radian double radA = (Math.PI * (A / 180)); // Converting B in to radian double radB = (Math.PI * (B / 180)); // Converting C in to radian double radC = (Math.PI * (C / 180)); // Computing length of side b double b = (a / Math.sin(radA) * Math.sin(radB)); // Computing length of side c double c = (a / Math.sin(radA) * Math.sin(radC)); System.out.printf("%.15f", b); System.out.printf(" %.15f", c); } // Driver code public static void main(String[] args) { int a = 12, B = 60, C = 30; // Calling function findSide(a, B, C); } } // This code is contributed by Amit Katiyar
Python3
# Python3 program for above approach import math # Function for computing other # 2 side of the triangle def findSide(a, B, C): # computing angle C A = 180-C-B # converting A in to radian radA = math.pi *(A / 180) # converting B in to radian radB = math.pi *(B / 180) # converting C in to radian radC = math.pi *(C / 180) # computing length of side b b = a / math.sin(radA)*math.sin(radB) # computing length of side c c = a / math.sin(radA)*math.sin(radC) return b, c # driver program a = 12 B = 60 C = 30 # calling function b, c = findSide(a, B, C) print(b, c)
C#
// C# program for above approach using System; class GFG{ // Function for computing other // 2 side of the triangle static void findSide(float a, double B, double C) { // Computing angle C double A = 180 - C - B; // Converting A in to radian double radA = (Math.PI * (A / 180)); // Converting B in to radian double radB = (Math.PI * (B / 180)); // Converting C in to radian double radC = (Math.PI * (C / 180)); // Computing length of side b double b = (a / Math.Sin(radA) * Math.Sin(radB)); // Computing length of side c double c = (a / Math.Sin(radA) * Math.Sin(radC)); Console.Write("{0:F15}", b); Console.Write("{0:F15}", c); } // Driver code public static void Main(String[] args) { int a = 12, B = 60, C = 30; // Calling function findSide(a, B, C); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Javascript program for above approach // Function for computing other // 2 side of the triangle function findSide(a, B, C) { // Computing angle C var A = 180 - C - B; // Converting A in to radian var radA = Math.PI * (A / 180); // Converting B in to radian var radB = Math.PI * (B / 180); // Converting C in to radian var radC = Math.PI * (C / 180); // Computing length of side b var b = a / Math.sin(radA) * Math.sin(radB); // Computing length of side c var c = a / Math.sin(radA) * Math.sin(radC); document.write( b + " "); document.write( c); } // Driver code var a = 12, B = 60, C = 30; // Calling function findSide(a, B, C); </script>
Producción:
10.392304845413264 5.999999999999999
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)