Diagonal de un hexágono regular

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>
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *