Open In App

# Biggest Reuleaux Triangle inscribed within a square inscribed in a semicircle

Given here is a semicircle of radius r 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 : x = 5
Output : 14.0954

Input : x = 8
Output : 36.0842``` Approach:We know, the side of the square inscribed within a semicircle is, a = 2r/?5. (Please refer here)
Also, in the reuleaux triangle, x = a
So, x = 2*r/?5
So, Area of Reuleaux Triangle

`A = 0.70477*x^2 = 0.70477*(r^2/5)`

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 semicircle` `#include ``using` `namespace` `std;` `// Function to find the biggest reuleaux triangle``float` `Area(``float` `r)``{` `    ``// radius cannot be negative``    ``if` `(r < 0)``        ``return` `-1;` `    ``// height of the reuleaux triangle``    ``float` `x = (2 * r) / ``sqrt``(5);` `    ``// area of the reuleaux triangle``    ``float` `A = 0.70477 * ``pow``(x, 2);` `    ``return` `A;``}` `// Driver code``int` `main()``{``    ``float` `r = 5;``    ``cout << Area(r) << endl;` `    ``return` `0;``}`

## Java

 `// Java Program to find the biggest``// Reuleaux triangle inscribed within``// in a square which in turn is``// inscribed within a semicircle``import` `java.lang.Math;` `class` `GFG``{` `// Function to find the biggest reuleaux triangle``static` `float` `Area(``float` `r)``{` `    ``// radius cannot be negative``    ``if` `(r < ``0``)``        ``return` `-``1``;` `    ``// height of the reuleaux triangle``    ``float` `x = (``2` `* r) /(``float``)(Math.sqrt(``5``));` `    ``// 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` `r = ``5``;``    ``System.out.println(Area(r));``}``}` `// This code is contributed by Mukul Singh.`

## Python3

 `# Python3 Program to find the biggest``# Reuleaux triangle inscribed within``# in a square which in turn is inscribed``# within a semicircle``import` `math as mt` `# Function to find the biggest``# reuleaux triangle``def` `Area(r):` `    ``# radius cannot be negative``    ``if` `(r < ``0``):``        ``return` `-``1` `    ``# height of the reuleaux triangle``    ``x ``=` `(``2` `*` `r) ``/` `mt.sqrt(``5``)` `    ``# area of the reuleaux triangle``    ``A ``=` `0.70477` `*` `pow``(x, ``2``)` `    ``return` `A` `# Driver code``r ``=` `5``print``(Area(r))` `# 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 a semicircle``using` `System;` `class` `GFG``{` `// Function to find the biggest reuleaux triangle``static` `double` `Area(``double` `r)``{` `    ``// radius cannot be negative``    ``if` `(r < 0)``        ``return` `-1;` `    ``// height of the reuleaux triangle``    ``double` `x = (2 * r) / (``double``)(Math.Sqrt(5));` `    ``// area of the reuleaux triangle``    ``double` `A = 0.70477  * (``double``)(Math.Pow(x, 2));` `    ``return` `A;``}` `// Driver code``public` `static` `void` `Main()``{``    ``double` `r = 5;``    ``Console.WriteLine(Area(r));``}``}` `// This code is contributed by chandan_jnu`

## PHP

 ``

## Javascript

 ``

Output:

`14.0954`

Time Complexity: O(1)

Auxiliary Space: O(1)