Given a regular hexagon of side length a, the task is to find the length of it’s diagonal.
Examples:
Input : a = 4
Output : 8
Input : a = 7
Output : 14

From the diagram, it is clear that the triangle ABC is an equilateral triangle, so
AB = AC = BC = a.
also it is obvious, diagonal = 2*AC or 2*BC
So the length of diagonal of the hexagon = 2*a
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
float hexadiagonal( float a)
{
if (a < 0)
return -1;
return 2 * a;
}
int main()
{
float a = 4;
cout << hexadiagonal(a) << endl;
return 0;
}
|
C
#include <stdio.h>
float hexadiagonal( float a)
{
if (a < 0)
return -1;
return 2 * a;
}
int main()
{
float a = 4;
printf ( "%f\n" ,hexadiagonal(a));
return 0;
}
|
Java
import java.io.*;
class GFG {
static float hexadiagonal( float a)
{
if (a < 0 )
return - 1 ;
return 2 * a;
}
public static void main (String[] args) {
float a = 4 ;
System.out.print( hexadiagonal(a));
}
}
|
Python3
def hexadiagonal(a):
if (a < 0 ):
return - 1
return 2 * a
if __name__ = = '__main__' :
a = 4
print (hexadiagonal(a))
|
C#
using System;
class GFG {
static float hexadiagonal( float a)
{
if (a < 0)
return -1;
return 2 * a;
}
public static void Main()
{
float a = 4;
Console.WriteLine( hexadiagonal(a));
}
}
|
PHP
<?php
function hexadiagonal( $a )
{
if ( $a < 0)
return -1;
return 2 * $a ;
}
$a = 4;
echo hexadiagonal( $a );
?>
|
Javascript
<script>
function hexadiagonal(a)
{
if (a < 0)
return -1;
return 2 * a;
}
var a = 4;
document.write( hexadiagonal(a));
</script>
|
Time complexity: O(1), since there is no loop or recursion.
Auxiliary Space: O(1), since no extra space has been taken.