# 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 = 6Output:3.1056Input:a = 8Output: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,

bwhich gives^{2}+ b^{2}= x^{2}b = x / √2

Now again,d / (2 * x) = cos(30) = √3 / 2i.e.d = x√3

And,cwhich gives^{2}+ c^{2}= d^{2}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 <bits/stdc++.h>` `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

`<?php` `// PHP Program to find the biggest hexagon which` `// can be inscribed within the given square` `// Function to return the side of the hexagon` `function` `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;` `echo` `hexagonside(` `$a` `);` `// This code is contributed by akt_mit` `?>` |

## Javascript

`<script>` `// Javascript Program to find the biggest hexagon which` `// can be inscribed within the given square` `// Function to return the side` `// of the hexagon` `function` `hexagonside(a)` `{` ` ` `// Side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// Side of the hexagon` ` ` `let x = 0.5176 * a;` ` ` `return` `x;` `}` `// Driver code` ` ` `let a = 6;` ` ` `document.write(hexagonside(a) + ` `"<br>"` `);` ` ` `// This code is contributed by Manoj` `</script>` |

**Output:**

3.1056

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.