# Program to find the Radius of the incircle of the triangle

Given a circle which is the incircle of a triangle whose sides are a, b< and c, the task is to find the radius of this incircle.

Examples:

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

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

Approach:

Radius of the incircle = area of the triangle / half of perimeter of the triangle
where:
Area of the triangle = âˆš(p*(p-a)*(p-b)*(p-c)
perimeter of the triangle = (a + b + c)

Below is the implementation of the above approach:

## 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 triangle``    ``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 triangle``    ``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 triangle``    ``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 triangle``    ``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`

## Python3

 `# 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 triangle ``    ``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 triangle ``    ``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 triangle``    ``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 triangle``    ``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

 ``

Output:
`0.566947`

Time complexity: O(log(n)) because using inbuilt sqrt function

Auxiliary Space: O(1), since no extra space has been taken.

Previous
Next