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

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

给定一个正方形的边的整数a ,任务是找到可以内接的最大的鲁洛三角形。

例子:

方法:我们知道鲁洛三角形的面积是0.70477 * b 2其中b是支撑鲁洛三角形的平行线之间的距离。
从图中可以看出,支撑鲁洛三角形的平行线之间的距离=正方形的边,即a
所以,鲁洛三角形的面积, A = 0.70477 * a 2

下面是上述方法的实现:

C++
// C++ Program to find the area
// of the biggest Reuleaux triangle
// that can be inscribed within a square
#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 the biggest Reuleaux triangle
// that can be inscribed within a square
import java.lang.Math;
class cfg
{
// Function to find the Area
// of the Reuleaux triangle
 static double ReuleauxArea(double a)
{
 
    // Side cannot be negative
    if (a < 0)
        return -1;
 
    // Area of the Reuleaux triangle
    double A = 0.70477 * Math.pow(a, 2);
    return A;
}
 
// Driver code
public static void main(String[] args)
{
    double a= 6;
    System.out.println(ReuleauxArea(a) );
     
}
}//This code is contributed by Mukul Singh.


Python3
# Python3 Program to find the area
# of the biggest Reuleaux triangle
# that can be inscribed within a square
 
# Function to find the Area
# of the Reuleaux triangle
def ReuleauxArea(a) :
 
    # Side cannot be negative
    if (a < 0) :
        return -1
 
    # Area of the Reuleaux triangle
    A = 0.70477 * pow(a, 2);
    return A
 
# Driver code
if __name__ == "__main__" :
 
    a = 6
    print(ReuleauxArea(a))
 
# This code is contributed by Ryuga


C#
// C# program to find area of the
//biggest  Reuleaux triangle that can be inscribed
//within a square
using System;
   
class GFG {
   
    // Function to find the area
    // of the reuleaux triangle
    static double reuleauxArea(double a)
    {
   
     //Side cannot be negative
     if (a<0)
        return -1;
         
        // Area of the reauleaux triangle
        double A=0.70477*Math.Pow(a,2);
        return A;
    }
   
    // Driver code
    static public void Main()
    {
        double a= 6;
        Console.WriteLine(reuleauxArea( a));
    }
}
//This code is contributed by Mohit kumar 29


PHP


Javascript


输出:
25.3717

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