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 = 5Output : 14.0954Input : x = 8Output : 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 <bits/stdc++.h> ` `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

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

**Output:**

14.0954

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.