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

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 = 5Output:28.3287Input:a = 9Output:91.7848

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

Want to learn from the best curated videos and practice problems, check out the

**C++ Foundation Course**for Basic to Advanced C++ and**C++ STL Course**for foundation plus STL.