Sunday, November 17, 2024
Google search engine
HomeData Modelling & AILargest hexagon that can be inscribed within a square

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

 

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!

RELATED ARTICLES

Most Popular

Recent Comments