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 <bits/stdc++.h> 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
<?php // PHP Program to find the radius // of the incircle of the given triangle // Function to find the radius // of the incircle function findRadiusOfIncircle( $a , $b , $c )
{ // the sides cannot be negative
if ( $a < 0 || $b < 0 || $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 // Get the sides of the triangle $a = 2; $b = 2; $c = 3;
// Find the radius of the incircle echo findRadiusOfIncircle( $a , $b , $c ) . "\n" ;
// This code is contributed // by Akanksha Rai(Abby_akku) |
Javascript
<script> // javascript Program to find the radius // of the incircle of the given triangle // Function to find the radius // of the incircle function findRadiusOfIncircle(a , b , c)
{ // the sides cannot be negative
if (a < 0 || b < 0 || c < 0)
return -1;
// semi-perimeter of the circle
var p = (a + b + c) / 2;
// area of the triangle
var area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
// Radius of the incircle
var radius = area / p;
// Return the radius
return radius;
} // Driver code // Get the sides of the triangle var a = 2, b = 2, c = 3;
// Find the radius of the incircle document.write( findRadiusOfIncircle(a, b, c).toFixed(6)); // This code contributed by shikhasingrajput </script> |
Output:
0.566947
Time complexity: O(log(n)) because using inbuilt sqrt function
Auxiliary Space: O(1), since no extra space has been taken.