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> |
3.29
Time Complexity: O(log s)Â
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!