Wednesday, July 3, 2024
HomeData ModellingData Structure & AlgorithmLargest hexagon that can be inscribed within an equilateral triangle

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:
 

 

 

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)

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 neveropen!

Nicole Veronica Rubhabha
Nicole Veronica Rubhabha
A highly competent and organized individual DotNet developer with a track record of architecting and developing web client-server applications. Recognized as a personable, dedicated performer who demonstrates innovation, communication, and teamwork to ensure quality and timely project completion. Expertise in C#, ASP.Net, MVC, LINQ, EF 6, Web Services, SQL Server, MySql, Web development,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments