Program to find the Circumcircle of any regular polygon

Given a n-sided polygon with side length a. The task is to find the area of the circumcircle of the polygon.
Examples:
Input: n = 10, a = 3 Output: 1.99737
Input: n = 5, a = 6 Output: 3.02487
Approach: A regular n-gon divides the circle into n pieces, so the central angle of the triangle is a full circle divided by n: 360 deg/n.
Applying the law of cosines for the three side lengths of the triangle, we get
c2 = a2 + b2 - 2ab cos C or, a2 = r2 + r2 - 2rr cos (360/n) or, a2 = 2r2 - 2r2 cos (360/n) or, c2 = r2 (2 - 2 cos (360/n)) so, a=r?(2-2cos(360/n)) Therefore, r=a/?(2-2cos(360/n))
Below is the implementation of the above approach:
C++
// C++ Program to find the radius// of the circumcircle of the given polygon#include <bits/stdc++.h>using namespace std;// Function to find the radius// of the circumcirclefloat findRadiusOfcircumcircle(float n, float a){ // these cannot be negative if (n < 0 || a < 0) return -1; // Radius of the circumcircle float radius = a / sqrt(2 - (2 * cos(360 / n))); // Return the radius return radius;}// Driver codeint main(){ float n = 5, a = 6; // Find the radius of the circumcircle cout << findRadiusOfcircumcircle(n, a) << endl; return 0;} |
Java
// Java Program to find the radius// of the circumcircle of the given polygonimport java.io.*;class GFG { // Function to find the radius// of the circumcirclestatic float findRadiusOfcircumcircle(float n, float a){ // these cannot be negative if (n < 0 || a < 0) return -1; // Radius of the circumcircle float radius = (float)(a / Math.sqrt(2 - (2 * Math.cos(360 / n)))); // Return the radius return radius;}// Driver code public static void main (String[] args) { float n = 5, a = 6; // Find the radius of the circumcircle System.out.println( findRadiusOfcircumcircle(n, a)) ; }}// This code is contributed // by anuj_67.. |
Python 3
# Python3 Program to find the # radius of the circumcircle # of the given polygon # from math import all methodsfrom math import *# Function to find the radius # of the circumcircle def findRadiusOfcircumcircle(n, a) : # these cannot be negative if n < 0 or a < 0 : return -1 # Radius of the circumcircle radius = a / sqrt(2 - (2 * cos(360 / n))) # Return the radius return radius# Driver codeif __name__ == "__main__" : n , a = 5, 6 # Find the radius of the circumcircle print(round(findRadiusOfcircumcircle(n, a), 5))# This code is contributed # by ANKITRAI1 |
C#
// C# Program to find the radius// of the circumcircle of the given polygonusing System;class GFG {// Function to find the radius// of the circumcirclestatic float findRadiusOfcircumcircle(float n, float a){ // these cannot be negative if (n < 0 || a < 0) return -1; // Radius of the circumcircle float radius = (float)(a / Math.Sqrt(2 - (2 * Math.Cos(360 / n)))); // Return the radius return radius;}// Driver codepublic static void Main () { float n = 5, a = 6; // Find the radius of the circumcircle Console.WriteLine(findRadiusOfcircumcircle(n, a));}}// This code is contributed // by anuj_67 |
PHP
<?php// PHP Program to find the radius // of the circumcircle of the // given polygon // Function to find the radius // of the circumcircle function findRadiusOfcircumcircle($n, $a) { // these cannot be negative if ($n < 0 || $a < 0) return -1; // Radius of the circumcircle $radius = $a / sqrt(2 - (2 * cos(360 / $n))); // Return the radius return $radius; } // Driver code $n = 5;$a = 6; // Find the radius of the circumcircle echo findRadiusOfcircumcircle($n, $a); // This code is contributed by Anuj_67..?> |
Javascript
<script>// javascript Program to find the radius// of the circumcircle of the given polygon// Function to find the radius// of the circumcirclefunction findRadiusOfcircumcircle(n , a){ // these cannot be negative if (n < 0 || a < 0) return -1; // Radius of the circumcircle var radius = (a / Math.sqrt(2 - (2 * Math.cos(360 / n)))); // Return the radius return radius;}// Driver codevar n = 5, a = 6;// Find the radius of the circumcircledocument.write( findRadiusOfcircumcircle(n, a).toFixed(5)) ;// This code is contributed by shikhasingrajput </script> |
Output:
3.02487
Time Complexity : O(log(n)) because it is using inbuilt sqrt function
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!




