Given an equilateral triangle of side length **a**, the task is to find the largest hexagon that can be inscribed within it.

**Examples:**

Input:a = 6

Output:2

Input:a = 9

Output:3

**Approach:** From the figure, it is clear that the three small triangles are also equilateral. So they will have side length **b = a / 3** where **b** is also the length of the hexagon and **a** is the length of the given equilateral triangle.

Below is the implementation of the above approach:

## C++

`// C++ program to find the side of the ` `// largest hexagon which can be inscribed ` `// within an equilateral triangle ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find the side ` `// of the hexagon ` `float` `hexagonside(` `float` `a) ` `{ ` ` ` ` ` `// Side cannot be negative ` ` ` `if` `(a < 0) ` ` ` `return` `-1; ` ` ` ` ` `// Side of the hexagon ` ` ` `float` `x = a / 3; ` ` ` `return` `x; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `float` `a = 6; ` ` ` `cout << hexagonside(a) << endl; ` ` ` `return` `0; ` `} ` |

## Java

`// Java program to find the side of the ` `// largest hexagon which can be inscribed ` `// within an equilateral triangle ` `class` `CLG ` `{ ` `// Function to find the side ` `// of the hexagon ` ` ` `static` `float` `hexagonside(` `float` `a) ` `{ ` ` ` ` ` `// Side cannot be negative ` ` ` `if` `(a < ` `0` `) ` ` ` `return` `-` `1` `; ` ` ` ` ` `// Side of the hexagon ` ` ` `float` `x = a / ` `3` `; ` ` ` `return` `x; ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `float` `a = ` `6` `; ` ` ` `System.out.println(hexagonside(a)); ` ` ` `} ` `} ` |

## Python3

`# Python3 program to find the side of the ` `# largest hexagon which can be inscribed ` `# within an eqilateral triangle ` ` ` `# function to find the side of the hexagon ` `def` `hexagonside(a): ` ` ` ` ` `# Side cannot be negative ` ` ` `if` `a < ` `0` `: ` ` ` `return` `-` `1` ` ` ` ` `# Side of the hexagon ` ` ` `x ` `=` `a ` `/` `/` `3` ` ` `return` `x ` ` ` `# Driver code ` `a ` `=` `6` `print` `(hexagonside(a)) ` ` ` `# This code is contributed ` `# by Mohit kumar 29 ` |

## C#

`using` `System; ` `// C# program to find the side of the ` `// largest hexagon which can be inscribed ` `// within an equilateral triangle ` `class` `CLG ` `{ ` `// Function to find the side ` `// of the hexagon ` ` ` `static` `float` `hexagonside(` `float` `a) ` `{ ` ` ` ` ` `// Side cannot be negative ` ` ` `if` `(a < 0) ` ` ` `return` `-1; ` ` ` ` ` `// Side of the hexagon ` ` ` `float` `x = a / 3; ` ` ` `return` `x; ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `float` `a = 6; ` ` ` `Console.Write(hexagonside(a)); ` ` ` `} ` `} ` |

## PHP

`<?php ` `// PHP program to find the side of the ` `// largest hexagon which can be inscribed ` `// within an equilateral triangle ` ` ` `// Function to find the side ` `// of the hexagon ` `function` `hexagonside(` `$a` `) ` `{ ` ` ` ` ` `// Side cannot be negative ` ` ` `if` `(` `$a` `< 0) ` ` ` `return` `-1; ` ` ` ` ` `// Side of the hexagon ` ` ` `$x` `= ` `$a` `/ 3; ` ` ` `return` `$x` `; ` `} ` ` ` `// Driver code ` `$a` `= 6; ` `echo` `hexagonside(` `$a` `) ; ` ` ` `// This code is contributed by Ryuga ` `?> ` |

**Output:**

2

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.