# Largest hexagon that can be inscribed within a square

Given side of a square a, the task is to find the side of the largest hexagon that can be inscribed within the given square.
Examples:

Input: a = 6
Output: 3.1056
Input: a = 8
Output: 4.1408 Approach:: Let, the side of the hexagon be x and assume that the side of the square, a gets divided into smaller length b & bigger length c i.e. a = b + c
Now from the figure, we see,

b2 + b2 = x2 which gives b = x / ?2
Now again, d / (2 * x) = cos(30) = ?3 / 2 i.e. d = x?3
And, c2 + c2 = d2 which gives c = d / ?2 = x?3 / ?2
Since, a = b + c. So, a = x / ?2 + x?3 / ?2 = ((1 + ?3) / ?2) * x = 1.932 * x
So, side of the hexagon, x = 0.5176 * a

Below is the implementation of the above approach:

## C++

 `// C++ Program to find the biggest hexagon which` `// can be inscribed within the given square` `#include ` `using` `namespace` `std;`   `// Function to return the side` `// of the hexagon` `float` `hexagonside(``float` `a)` `{`   `    ``// Side cannot be negative` `    ``if` `(a < 0)` `        ``return` `-1;`   `    ``// Side of the hexagon` `    ``float` `x = 0.5176 * a;` `    ``return` `x;` `}`   `// Driver code` `int` `main()` `{` `    ``float` `a = 6;` `    ``cout << hexagonside(a) << endl;` `    ``return` `0;` `}`

## Java

 `// Java  Program to find the biggest hexagon which` `// can be inscribed within the given square`   `import` `java.io.*;`   `class` `GFG {` `    `  `// Function to return the side` `// of the hexagon` `static` `double` `hexagonside(``double` `a)` `{`   `    ``// Side cannot be negative` `    ``if` `(a < ``0``)` `        ``return` `-``1``;`   `    ``// Side of the hexagon` `    ``double` `x = (``0.5176` `* a);` `    ``return` `x;` `}`   `// Driver code` `    ``public` `static` `void` `main (String[] args) {`   `        ``double` `a = ``6``;` `        ``System.out.println (hexagonside(a));` `    ``}` `//This code is contributed by ajit.    ` `}`

## Python 3

 `# Python 3 Program to find the biggest ` `# hexagon which can be inscribed within` `# the given square`   `# Function to return the side` `# of the hexagon` `def` `hexagonside(a):`   `    ``# Side cannot be negative` `    ``if` `(a < ``0``):` `        ``return` `-``1``;`   `    ``# Side of the hexagon` `    ``x ``=` `0.5176` `*` `a;` `    ``return` `x;`   `# Driver code` `a ``=` `6``;` `print``(hexagonside(a));`   `# This code is contributed ` `# by Akanksha Rai`

## C#

 `// C# Program to find the biggest hexagon which ` `// can be inscribed within the given square ` `using` `System;`   `class` `GFG` `{ ` `        `  `// Function to return the side ` `// of the hexagon ` `static` `double` `hexagonside(``double` `a) ` `{ `   `    ``// Side cannot be negative ` `    ``if` `(a < 0) ` `        ``return` `-1; `   `    ``// Side of the hexagon ` `    ``double` `x = (0.5176 * a); ` `    ``return` `x; ` `} `   `// Driver code ` `public` `static` `void` `Main () ` `{ ` `    ``double` `a = 6; ` `    ``Console.WriteLine(hexagonside(a)); ` `} ` `} `   `// This code is contributed by Ryuga. `

## PHP

 ``

## Javascript

 ``

Output:

`3.1056`

Time Complexity: O(1)

Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Previous
Next