Given integers A, B, C, and D denoting the length of sides of a Cyclic Quadrilateral, the task is to find the circumradius i.e., the radius of circumcircle of the given cyclic quadrilateral.
Examples:
Input: A = 3, B = 4, C = 5, D= 6
Output: 3.29Input: A = 10, B = 30, C = 50, D = 20
Output: 27.78
Approach: Follow the steps below to solve the problem:
- Calculate the semiperimeter of the cyclic quadrilateral with sides A, B, C and D by using the equation:
- Now, using Parameshvara’s circumradius formula shown below, calculate the radius for the circumcircle:
Below is the implementation of the above approach:
C++14
// C++ program to find circumradius of // a cyclic quadrilateral using sides #include <bits/stdc++.h> using namespace std;
// Function to return the circumradius // of a cyclic quadrilateral using sides double Circumradius( int a, int b, int c, int d)
{ // Find semiperimeter
double s = (a + b + c + d) / 2.0;
// Calculate the radius
double radius = sqrt (((a * b) + (c * d)) *
((a * c) + (b * d)) *
((a * d) + (b * c)) /
((s - a) * (s - b) *
(s - c) * (s - d)));
return radius / 4;
} // Driver Code int main()
{ int A = 3;
int B = 4;
int C = 5;
int D = 6;
// Function call
double ans = Circumradius(A, B, C, D);
// Print the radius
cout << setprecision(3) << ans;
return 0;
} // This code is contributed by mohit kumar 29 |
Java
// Java program to find circumradius of // a cyclic quadrilateral using sides import java.util.*;
class GFG{
// Function to return the circumradius // of a cyclic quadrilateral using sides static double Circumradius( int a, int b,
int c, int d)
{ // Find semiperimeter
double s = (a + b + c + d) / 2.0 ;
// Calculate the radius
double radius = Math.sqrt(((a * b) + (c * d)) *
((a * c) + (b * d)) *
((a * d) + (b * c)) /
((s - a) * (s - b) *
(s - c) * (s - d)));
return radius / 4 ;
} // Driver Code public static void main(String[] args)
{ int A = 3 ;
int B = 4 ;
int C = 5 ;
int D = 6 ;
// Function call
double ans = Circumradius(A, B, C, D);
// Print the radius
System.out.format( "%.2f" , ans);
} } // This code is contributed by 29AjayKumar |
Python3
# Program to find Circumradius of # a cyclic quadrilateral using sides import math
# Function to return the Circumradius # of a cyclic quadrilateral using sides def Circumradius(a, b, c, d):
# Find semiperimeter s = (a + b + c + d) / 2
# Calculate the radius
radius = ( 1 / 4 ) * math.sqrt(((a * b) + (c * d)) *
((a * c) + (b * d)) * ((a * d) + (b * c))
/ ((s - a) * (s - b) * (s - c) * (s - d)))
return radius
# Driver Code # Given sides A = 3
B = 4
C = 5
D = 6
# Function Call ans = Circumradius(A, B, C, D)
# Print the radius print ( round (ans, 2 ))
|
C#
// C# program to find circumradius of // a cyclic quadrilateral using sides using System;
class GFG{
// Function to return the circumradius // of a cyclic quadrilateral using sides static double Circumradius( int a, int b,
int c, int d)
{ // Find semiperimeter
double s = (a + b + c + d) / 2.0;
// Calculate the radius
double radius = Math.Sqrt(((a * b) + (c * d)) *
((a * c) + (b * d)) *
((a * d) + (b * c)) /
((s - a) * (s - b) *
(s - c) * (s - d)));
return radius / 4;
} // Driver Code public static void Main(String[] args)
{ int A = 3;
int B = 4;
int C = 5;
int D = 6;
// Function call
double ans = Circumradius(A, B, C, D);
// Print the radius
Console.Write( "{0:F2}" , ans);
} } // This code is contributed by 29AjayKumar |
Javascript
<script> // Javascript program to find circumradius of // a cyclic quadrilateral using sides // Function to return the circumradius // of a cyclic quadrilateral using sides function Circumradius(a, b, c, d)
{ // Find semiperimeter
var s = (a + b + c + d) / 2.0;
// Calculate the radius
var radius = Math.sqrt(((a * b) + (c * d)) *
((a * c) + (b * d)) *
((a * d) + (b * c)) /
((s - a) * (s - b) *
(s - c) * (s - d)));
return radius / 4;
} // Driver code var A = 3;
var B = 4;
var C = 5;
var D = 6;
// Function call var ans = Circumradius(A, B, C, D);
// Print the radius document.write(ans.toFixed(2)); // This code is contributed by Khushboogoyal499 </script> |
Output:
3.29
Time Complexity: O(log s)
Auxiliary Space: O(1)