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 sidesdouble 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 Codeint 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 sidesimport java.util.*;Â
class GFG{Â
// Function to return the circumradius// of a cyclic quadrilateral using sidesstatic 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 Codepublic 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 sidesdef 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 sidesA = 3B = 4C = 5D = 6   # Function Call ans = Circumradius(A, B, C, D)    # Print the radiusprint(round(ans, 2)) |
C#
// C# program to find circumradius of// a cyclic quadrilateral using sidesusing System;Â
class GFG{Â
// Function to return the circumradius// of a cyclic quadrilateral using sidesstatic 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 Codepublic 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 sidesfunction 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 codevar A = 3;var B = 4;var C = 5;var D = 6;Â
// Function callvar ans = Circumradius(A, B, C, D);Â
// Print the radiusdocument.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!

