📌  相关文章
📜  圆内刻有正方形的最大Reuleaux三角形

📅  最后修改于: 2021-04-29 17:00:21             🧑  作者: Mango

在此给出一个半径为r的圆,该圆内接一个正方形,该方形又接一个reuleaux三角形。任务是找到该reuleaux三角形的最大可能面积。
例子:

Input: r = 6
Output: 50.7434

Input: r = 11
Output: 170.554

方法:从图中可以很清楚地看到,如果正方形的边是a ,则

此外,在reuleaux三角形中, h = a =√2r ,请参考A Square中的最大Reuleaux三角形。
因此,Reuleaux三角形的面积为A = 0.70477 * h ^ 2 = 0.70477 * 2 * r ^ 2

C++
// C++ Program to find the biggest Reuleaux
// triangle inscribed within in a square which
// in turn is inscribed within a circle
#include 
using namespace std;
 
// Function to find the Area
// of the Reuleaux triangle
float ReuleauxArea(float r)
{
 
    // radius cannot be negative
    if (r < 0)
        return -1;
 
    // Area of the Reuleaux triangle
    float A = 0.70477 * 2 * pow(r, 2);
 
    return A;
}
 
// Driver code
int main()
{
    float r = 6;
    cout << ReuleauxArea(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 circle
import java.util.*;
 
class GFG
{
 
// Function to find the Area
// of the Reuleaux triangle
static double ReuleauxArea(double r)
{
 
    // radius cannot be negative
    if (r < 0)
        return -1;
 
    // Area of the Reuleaux triangle
    double A = 0.70477 * 2 * Math.pow(r, 2);
 
    return A;
}
 
// Driver code
public static void main(String args[])
{
    double r = 6;
    System.out.println(ReuleauxArea(r));
     
}
}
// This code is contributed by
// Surendra_Gangwar


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


PHP


Javascript


输出:
50.7434