📌  相关文章
📜  正方形内最大的鲁洛三角形内接于圆内

📅  最后修改于: 2021-10-23 08:46:42             🧑  作者: Mango

这里给出的是一个半径为r的圆,它内接一个正方形,该正方形内接一个鲁洛三角形。任务是找到这个鲁洛三角形的最大可能面积。
例子:

Input: r = 6
Output: 50.7434

Input: r = 11
Output: 170.554

方法:从图中可以很明显的看出,如果正方形的边是a ,那么

另外,在鲁洛三角形中, h = a = √2r ,请参考A Square内最大的鲁洛三角形。
所以,鲁洛三角形的面积是, 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

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程