Biggest Reuleaux Triangle inscribed within a Square inscribed in an equilateral triangle

Given here is an equilateral triangle of sidelength **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 : 3.79335Input : a = 9Output : 12.2905

**Approach**: We know that the side of the square inscribed within an equilateral triangle of side length is, **x = 0.464*a** (Please refer here).

Also, in the reuleaux triangle, **h = x**.

So, Area of Reuleaux Triangle:

A= 0.70477*h^{2}= 0.70477*(0.464*a)^{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 an equilateral triangle` `#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` `x = 0.464 * a;` ` ` `// area of the reuleaux triangle` ` ` `float` `A = 0.70477 * ` `pow` `(x, 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 an equilateral triangle` `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` `x = ` `0` `.464f * a;` ` ` `// area of the reuleaux triangle` ` ` `float` `A = ` `0` `.70477f * (` `float` `)Math.pow(x, ` `2` `);` ` ` `return` `A;` `}` `// Driver code` `public` `static` `void` `main (String[] args)` `{` ` ` `float` `a = ` `5` `;` ` ` `System.out.println(String.format(` `"%.5f"` `, Area(a)));` `}` `}` `// This code is contributed by chandan_jnu` |

## Python3

`# Python3 Program to find the biggest` `# Reuleaux triangle inscribed within` `# in a square which in turn is inscribed` `# within an equilateral triangle` `import` `math as mt` `# Function to find the biggest` `# reuleaux triangle` `def` `Area(a):` ` ` `# side cannot be negative` ` ` `if` `(a < ` `0` `):` ` ` `return` `-` `1` ` ` `# height of the reuleaux triangle` ` ` `x ` `=` `0.464` `*` `a` ` ` `# area of the reuleaux triangle` ` ` `A ` `=` `0.70477` `*` `pow` `(x, ` `2` `)` ` ` `return` `A` `# Driver code` `a ` `=` `5` `print` `(Area(a))` `# This code is contributed by` `# Mohit Kumar 29` |

## C#

`// C# Program to find the biggest Reuleaux` `// triangle inscribed within in a square` `// which in turn is inscribed within an` `// equilateral triangle` `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` `x = 0.464f * a;` ` ` `// area of the reuleaux triangle` ` ` `float` `A = 0.70477f * (` `float` `)Math.Pow(x, 2);` ` ` `return` `A;` `}` `// Driver code` `public` `static` `void` `Main ()` `{` ` ` `float` `a = 5;` ` ` `Console.WriteLine(String.Format(` `"{0,0:#.00000}"` `,` ` ` `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 an` `// equilateral triangle` `// Function to find the biggest` `// reuleaux triangle` `function` `Area(` `$a` `)` `{` ` ` `// side cannot be negative` ` ` `if` `(` `$a` `< 0)` ` ` `return` `-1;` ` ` `// height of the reuleaux triangle` ` ` `$x` `= 0.464 * ` `$a` `;` ` ` `// area of the reuleaux triangle` ` ` `$A` `= 0.70477 * pow(` `$x` `, 2);` ` ` `return` `$A` `;` `}` `// Driver code` `$a` `= 5;` `echo` `Area(` `$a` `) . ` `"\n"` `;` `// This code is contributed` `// by Akanksha Rai` |

## Javascript

`<script>` `// Javascript Program to find the biggest Reuleaux triangle` `// inscribed within in a square which in turn` `// is inscribed within an equilateral triangle` `// 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 x = 0.464 * a;` ` ` `// area of the reuleaux triangle` ` ` `let A = 0.70477 * Math.pow(x, 2);` ` ` `return` `A;` `}` `// Driver code` ` ` `let a = 5;` ` ` `document.write( Area(a).toFixed(5));` `// This code contributed by Rajput-Ji` `</script>` |

**Output:**

3.79335

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.