# Find length of Diagonal of Hexagon

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++

`// C++ Program to find the diagonal` `// of the hexagon` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the diagonal` `// of the hexagon` `float` `hexadiagonal(` `float` `a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// diagonal of the hexagon` ` ` `return` `2 * a;` `}` `// Driver code` `int` `main()` `{` ` ` `float` `a = 4;` ` ` `cout << hexadiagonal(a) << endl;` ` ` `return` `0;` `}` |

## C

`// C Program to find the diagonal` `// of the hexagon` `#include <stdio.h>` `// Function to find the diagonal` `// of the hexagon` `float` `hexadiagonal(` `float` `a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` ` ` `// diagonal of the hexagon` ` ` `return` `2 * a;` `}` ` ` `// Driver code` `int` `main()` `{` ` ` `float` `a = 4;` ` ` `printf` `(` `"%f\n"` `,hexadiagonal(a));` ` ` `return` `0;` `}` |

## Java

`// Java Program to find the diagonal` `// of the hexagon` `import` `java.io.*;` `class` `GFG {` `// Function to find the diagonal` `// of the hexagon` `static` `float` `hexadiagonal(` `float` `a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < ` `0` `)` ` ` `return` `-` `1` `;` ` ` `// diagonal of the hexagon` ` ` `return` `2` `* a;` `}` `// Driver code` ` ` `public` `static` `void` `main (String[] args) {` ` ` `float` `a = ` `4` `;` ` ` `System.out.print( hexadiagonal(a));` `}` `}` `// This code is contributed` `// by shs` |

## Python3

`# Python3 Program to find the diagonal` `# of the hexagon` `# Function to find the diagonal` `# of the hexagon` `def` `hexadiagonal(a):` ` ` `# side cannot be negative` ` ` `if` `(a < ` `0` `):` ` ` `return` `-` `1` ` ` `# diagonal of the hexagon` ` ` `return` `2` `*` `a` `# Driver code` `if` `__name__` `=` `=` `'__main__'` `:` ` ` `a ` `=` `4` ` ` `print` `(hexadiagonal(a))` `# This code is contributed by ` `# Shivi_Aggarwal` |

## C#

`// C# Program to find the diagonal` `// of the hexagon` `using` `System;` `class` `GFG {` ` ` `// Function to find the diagonal` ` ` `// of the hexagon` ` ` `static` `float` `hexadiagonal(` `float` `a)` ` ` `{` ` ` `// side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` ` ` `// diagonal of the hexagon` ` ` `return` `2 * a;` ` ` `}` `// Driver code` `public` `static` `void` `Main()` `{` ` ` `float` `a = 4;` ` ` `Console.WriteLine( hexadiagonal(a));` `}` `}` `// This code is contributed` `// by anuj_67..` |

## PHP

`<?php` `// PHP Program to find the diagonal` `// of the hexagon` `// Function to find the diagonal` `// of the hexagon` `function` `hexadiagonal(` `$a` `)` `{` ` ` `// side cannot be negative` ` ` `if` `(` `$a` `< 0)` ` ` `return` `-1;` ` ` `// diagonal of the hexagon` ` ` `return` `2 * ` `$a` `;` `}` `// Driver code` ` ` `$a` `= 4;` ` ` `echo` `hexadiagonal(` `$a` `);` ` ` `// This code is contributed` `// by anuj_67..` `?>` |

## Javascript

`<script>` `// javascript Program to find the diagonal` `// of the hexagon` `// Function to find the diagonal` `// of the hexagon` `function` `hexadiagonal(a)` `{` ` ` `// side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// diagonal of the hexagon` ` ` `return` `2 * a;` `}` `// Driver code` `var` `a = 4;` `document.write( hexadiagonal(a));` `// This code is contributed by 29AjayKumar ` `</script>` |

**Output:**

8

**Time complexity:** O(1)

**Auxiliary Space: **O(1)