Largest hexagon that can be inscribed within an equilateral triangle
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 ?> |
Javascript
<script> // javascript 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 var x = a / 3; return x; } // Driver code var a = 6; document.write(hexagonside(a)); // This code contributed by Princi Singh </script> |
Output:
2
Time Complexity: O(1)
Auxiliary Space: O(1)