给定一个整数h ,该整数h是由与Reuleaux三角形相同的顶点形成的等边三角形的边,任务是查找并打印Reuleaux三角形的面积。
例子:
Input: h = 6
Output: 25.3717
Input: h = 9
Output: 57.0864
方法:由三个圆ABC相交形成的形状是Reuleaux三角形和由相同顶点形成的三角形,即ABC是边为h的等边三角形。
Now, Area of sector ACB, A1 = (π * h2) / 6
Similarly, Area of sector CBA, A2 = (π * h2) / 6
And, Area of sector BAC, A3 = (π * h2) / 6
So, A1 + A2 + A3 = (π * h2) / 2
Since, the area of the triangle is added thrice in the sum.
So, Area of the Reuleaux Triangle, A = (π * h2) / 2 – 2 * (Area of equilateral triangle) = (π – √3) * h2 / 2 = 0.70477 * h2
下面是上述方法的实现:
C++
// C++ Program to find the area
// of Reuleaux triangle
#include
using namespace std;
// Function to find the Area
// of the Reuleaux triangle
float ReuleauxArea(float a)
{
// Side cannot be negative
if (a < 0)
return -1;
// Area of the Reuleaux triangle
float A = 0.70477 * pow(a, 2);
return A;
}
// Driver code
int main()
{
float a = 6;
cout << ReuleauxArea(a) << endl;
return 0;
}
Java
// Java Program to find the area
// of Reuleaux triangle
public class GFG
{
// Function to find the Area
// of the Reuleaux triangle
static double ReuleauxArea(float a)
{
// Side cannot be negative
if (a < 0)
return -1;
// Area of the Reuleaux triangle
double A = (double)0.70477 * Math.pow(a, 2);
return A;
}
// Driver code
public static void main(String args[])
{
float a = 6;
System.out.println(ReuleauxArea(a)) ;
}
// This code is contributed by Ryuga
}
Python3
# Python3 program to find the area
# of Reuleaux triangle
import math as mt
# function to the area of the
# Reuleaux triangle
def ReuleauxArea(a):
# Side cannot be negative
if a < 0:
return -1
# Area of the Reauleax triangle
return 0.70477 * pow(a, 2)
# Driver code
a = 6
print(ReuleauxArea(a))
# This code is contributed
# by Mohit Kumar
C#
// C# Program to find the area
// of Reuleaux triangle
using System;
public class GFG
{
// Function to find the Area
// of the Reuleaux triangle
static double ReuleauxArea(float a)
{
// Side cannot be negative
if (a < 0)
return -1;
// Area of the Reuleaux triangle
double A = (double)0.70477 * Math.Pow(a, 2);
return A;
}
// Driver code
public static void Main()
{
float a = 6;
Console.WriteLine(ReuleauxArea(a)) ;
}
}
// This code is contributed by Subhadeep
PHP
Javascript
输出:
25.3717