📜  程序来找到三角形的内圆的半径

📅  最后修改于: 2021-04-25 01:02:57             🧑  作者: Mango

给定一个圆,该圆是边为ab <c的三角形的内切圆,则任务是找到该内切圆的半径。
例子:

Input: a = 2, b = 2, c = 3
Output: 0.566947

Input: a = 3, b = 4, c = 5
Output: 1

方法:

下面是上述方法的实现:

C++
// C++ Program to find the radius
// of the incircle of the given triangle
 
#include 
using namespace std;
 
// Function to find the radius
// of the incircle
float findRadiusOfIncircle(float a, float b, float c)
{
 
    // the sides cannot be negative
    if (a < 0 || b < 0 || c < 0)
        return -1;
 
    // semi-perimeter of the circle
    float p = (a + b + c) / 2;
 
    // area of the traingle
    float area = sqrt(p * (p - a) * (p - b) * (p - c));
 
    // Radius of the incircle
    float radius = area / p;
 
    // Return the radius
    return radius;
}
 
// Driver code
int main()
{
 
    // Get the sides of the traingle
    float a = 2, b = 2, c = 3;
 
    // Find the radius of the incircle
    cout << findRadiusOfIncircle(a, b, c)
         << endl;
 
    return 0;
}


Java
// Java Program to find the radius
// of the incircle of the given triangle
import java.io.*;
 
class GFG {
   
// Function to find the radius
// of the incircle
static float findRadiusOfIncircle(float a, float b, float c)
{
 
    // the sides cannot be negative
    if (a < 0 || b < 0 || c < 0)
        return -1;
 
    // semi-perimeter of the circle
    float p = (a + b + c) / 2;
 
    // area of the traingle
    float area = (float)Math.sqrt(p * (p - a) * (p - b) * (p - c));
 
    // Radius of the incircle
    float radius = area / p;
 
    // Return the radius
    return radius;
}
 
// Driver code
 
    public static void main (String[] args) {
         
    // Get the sides of the traingle
    float a = 2, b = 2, c = 3;
 
    // Find the radius of the incircle
    System.out.println( findRadiusOfIncircle(a, b, c));
         
    }
}
 // This code is contributed by ajit


Python 3
# Python Program to find the radius
# of the incircle of the given triangle
 
# from math lib. import everything
from math import *
 
# Function to find the radius
# of the incircle
def findRadiusOfIncircle(a, b, c) :
 
    # the sides cannot be negative
    if (a < 0 or b < 0 or c < 0) :
        return -1
 
    # semi-perimeter of the circle
    p = (a + b + c) / 2
 
    # area of the traingle
    area = sqrt(p * (p - a) *
               (p - b) * (p - c))
 
    # Radius of the incircle
    radius = area / p
 
    # Return the radius
    return radius
 
# Driver code    
if __name__ == "__main__" :
 
    # Get the sides of the traingle
    a, b, c = 2, 2, 3
 
    # Find the radius of the incircle
    print(round(findRadiusOfIncircle(a, b, c), 6))
 
# This code is contributed by ANKITRAI1


C#
// C# Program to find the radius
// of the incircle of the given triangle
using System;
 
class GFG
{
 
// Function to find the radius
// of the incircle
public static float findRadiusOfIncircle(float a,
                                         float b,
                                         float c)
{
 
    // the sides cannot be negative
    if (a < 0 || b < 0 || c < 0)
        return -1;
     
    // semi-perimeter of the circle
    float p = (a + b + c) / 2;
     
    // area of the traingle
    float area = (float)Math.Sqrt(p * (p - a) *
                          (p - b) * (p - c));
     
    // Radius of the incircle
    float radius = area / p;
     
    // Return the radius
    return (float)(radius);
}
 
// Driver code
public static void Main()
{
 
    // Get the sides of the traingle
    float a = 2, b = 2, c = 3;
 
    // Find the radius of the incircle
    Console.WriteLine(findRadiusOfIncircle(a, b, c));
}
}
 
// This code is contributed
// by Shivi_Aggarwal


PHP


Javascript


输出:
0.566947