Dado un entero a que es el lado de un hexágono regular, la tarea es encontrar e imprimir la longitud de su diagonal.
Ejemplos:
Entrada: a = 6
Salida: 10,38
Entrada: a = 9
Salida: 15,57
Enfoque: Sabemos que la suma de los ángulos interiores de un polígono = (n – 2) * 180 donde, n es el número de lados del polígono.
Entonces, la suma de los ángulos interiores de un hexágono = 4 * 180 = 720 y cada ángulo interior será 120 .
Ahora, tenemos que encontrar BC = 2 * x . Si dibujamos una perpendicular AO en BC , veremos que la perpendicular biseca a BC en BO y OC , ya que los triángulos AOB y AOC son congruentes entre sí.
Entonces, en el triángulo AOB , sin(60) = x/aes decir , x = 0,866 * a
Por lo tanto, la longitud de la diagonal será 2 * x, es decir , 1,73 * a .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ Program to find the diagonal // of a regular hexagon #include <bits/stdc++.h> using namespace std; // Function to find the diagonal // of a regular hexagon float hexDiagonal(float a) { // Side cannot be negative if (a < 0) return -1; // Length of the diagonal float d = 1.73 * a; return d; } // Driver code int main() { float a = 9; cout << hexDiagonal(a) << endl; return 0; }
Java
// Java Program to find the diagonal // of a regular hexagon public class GFG { // Function to find the diagonal // of a regular hexagon static double hexDiagonal(float a) { // Side cannot be negative if (a < 0) return -1; // Length of the diagonal double d = (double)1.73 * a; return d; } // Driver code public static void main(String []args) { float a = 9; System.out.println(hexDiagonal(a)) ; } // This code is contributed by Ryuga }
Python3
# Python3 Program to find the diagonal # of a regular hexagon # Function to find the diagonal # of a regular hexagon def hexDiagonal(a): # Side cannot be negative if (a < 0): return -1; # Length of the diagonal d = 1.73 * a; return d; # Driver code a = 9; print(hexDiagonal(a)); # This code is contributed # by Akanksha Rai
C#
// C# Program to find the diagonal // of a regular hexagon using System ; public class GFG { // Function to find the diagonal // of a regular hexagon static double hexDiagonal(float a) { // Side cannot be negative if (a < 0) return -1; // Length of the diagonal double d = (double)1.73 * a; return d; } // Driver code public static void Main() { float a = 9; Console.WriteLine(hexDiagonal(a)) ; } // This code is contributed by Subhadeep }
PHP
<?php // PHP Program to find the diagonal // of a regular hexagon // Function to find the diagonal // of a regular hexagon function hexDiagonal($a) { // Side cannot be negative if ($a < 0) return -1; // Length of the diagonal $d = 1.73 * $a; return $d; } // Driver code $a = 9; echo hexDiagonal($a), "\n"; // This code is contributed // by akt_mit ?>
Javascript
<script> // javascript Program to find the diagonal // of a regular hexagon // Function to find the diagonal // of a regular hexagon function hexDiagonal(a) { // Side cannot be negative if (a < 0) return -1; // Length of the diagonal var d = 1.73 * a; return d; } // Driver code var a = 9; document.write(hexDiagonal(a)) ; // This code contributed by Princi Singh </script>
15.57
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por IshwarGupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA