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 <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 ?> |
Javascript
<script> // javascript 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 var x = (2 * r) /(Math.sqrt(5)); // area of the reuleaux triangle var A = 0.70477 *(Math.pow(x, 2)); return A; } // Driver code var r = 5; document.write(Area(r).toFixed(4)); // This code is contributed by Princi Singh </script> |
Output:
14.0954
Time Complexity: O(1)
Auxiliary Space: O(1)