Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Biggest Reuleaux Triangle inscribed within a square which is inscribed within a hexagon

  • Last Updated : 17 Mar, 2021

Given a regular hexagon of side length a which inscribes a square which in turn inscribes a reuleaux triangle. The task is to find the maximum possible area of this reuleaux triangle.
Examples: 
 

Input: a = 5
Output: 28.3287

Input: a = 9
Output: 91.7848

 

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.



 

Approach: As the side of the square inscribed within a hexagon is x = 1.268a. Please refer Largest Square that can be inscribed within a hexagon. 
Also, in the reuleaux triangle, h = x = 1.268a
So, Area of the reuleaux triangle, A = 0.70477*h^2 = 0.70477*(1.268a)^2.
Below is the implementation of the above approach: 
 

C++




// C++ Program to find the biggest Reuleaux triangle
// inscribed within in a square which in turn
// is inscribed within a hexagon
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the biggest reuleaux triangle
float Area(float a)
{
 
    // side cannot be negative
    if (a < 0)
        return -1;
 
    // height of the reuleaux triangle
    float h = 1.268 * a;
 
    // area of the reuleaux triangle
    float A = 0.70477 * pow(h, 2);
 
    return A;
}
 
// Driver code
int main()
{
    float a = 5;
    cout << Area(a) << endl;
 
    return 0;
}

Java




// Java Program to find the biggest Reuleaux triangle
// inscribed within in a square which in turn
// is inscribed within a hexagon
 
import java.io.*;
 
class GFG
{
 
// Function to find the biggest reuleaux triangle
static float Area(float a)
{
 
    // side cannot be negative
    if (a < 0)
        return -1;
 
    // height of the reuleaux triangle
    float h =(float) 1.268 * a;
 
    // area of the reuleaux triangle
    float A = (float)(0.70477 * Math.pow(h, 2));
 
    return A;
}
 
    // Driver code
    public static void main (String[] args)
    {
        float a = 5;
    System.out.println( Area(a));
    }
}
 
// This code is contributed by anuj_67

Python3




# Python3 Program to find the biggest
# Reuleaux triangle inscribed within
# in a square which in turn is
# inscribed within a hexagon
import math
 
# Function to find the biggest
# reuleaux triangle
def Area(a):
 
    # side cannot be negative
    if (a < 0):
        return -1
 
    # height of the reuleaux triangle
    h = 1.268 * a
 
    # area of the reuleaux triangle
    A = 0.70477 * math.pow(h, 2)
 
    return A
 
# Driver code
a = 5
print(Area(a),end = "\n")
 
# This code is contributed
# by Akanksha Rai

C#




// C# Program to find the biggest Reuleaux
// triangle inscribed within in a square
// which in turn is inscribed within a hexagon
using System;
 
class GFG
{
 
// Function to find the biggest reuleaux triangle
static float Area(float a)
{
 
    // side cannot be negative
    if (a < 0)
        return -1;
 
    // height of the reuleaux triangle
    float h =(float) 1.268 * a;
 
    // area of the reuleaux triangle
    float A = (float)(0.70477 * Math.Pow(h, 2));
 
    return A;
}
 
// Driver code
public static void Main ()
{
    float a = 5;
    Console.WriteLine(Area(a));
}
}
 
// This code is contributed
// by Akanksha Rai

PHP




<?php
// PHP Program to find the biggest Reuleaux
// triangle inscribed within in a square
// which in turn is inscribed within a hexagon
 
// Function to find the biggest
// reuleaux triangle
function Area($a)
{
 
    // side cannot be negative
    if ($a < 0)
        return -1;
 
    // height of the reuleaux triangle
    $h = 1.268 * $a;
 
    // area of the reuleaux triangle
    $A = 0.70477 * pow($h, 2);
 
    return $A;
}
 
// Driver code
$a = 5;
echo round(Area($a), 4);
 
// This code is contributed by Ryuga
?>

Javascript




<script>
 
// Javascript Program to find the biggest Reuleaux triangle
// inscribed within in a square which in turn
// is inscribed within a hexagon
 
// Function to find the biggest reuleaux triangle
function Area(a)
{
 
    // side cannot be negative
    if (a < 0)
        return -1;
 
    // height of the reuleaux triangle
    let h = 1.268 * a;
 
    // area of the reuleaux triangle
    let A = 0.70477 * Math.pow(h, 2);
 
    return A;
}
 
// Driver code
    let a = 5;
    document.write(Area(a) + "<br>");
 
// This code is contributed by Mayank Tyagi
 
</script>
Output: 
28.3287

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!