# Side of a regular n-sided polygon circumscribed in a circle

Given two integers **r** and **n** where **n** is the number of sides of a regular polygon and **r** is the radius of the circle this polygon is circumscribed in. The task is to find the length of the side of polygon.

**Examples:**

Input:n = 5, r = 11

Output:12.9256

Input:n = 3, r = 5

Output:8.6576

**Approach:** Consider the image above and let **angle AOB** be **theta** then **theta = 360 / n**.

In right angled triangle , **angle ACO = 90 degrees** and **angle AOC = theta / 2**.

So, **AC = OA * sin(theta / 2) = r * sin(theta / 2)**

Therefore, side of the polygon, **AB = 2 * AC** i.e. **2 * r * sin(theta / 2)**.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to calculate the side of the polygon ` `// circumscribed in a circle ` `float` `calculateSide(` `float` `n, ` `float` `r) ` `{ ` ` ` `float` `theta, theta_in_radians; ` ` ` ` ` `theta = 360 / n; ` ` ` `theta_in_radians = theta * 3.14 / 180; ` ` ` ` ` `return` `2 * r * ` `sin` `(theta_in_radians / 2); ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` ` ` `// Total sides of the polygon ` ` ` `float` `n = 3; ` ` ` ` ` `// Radius of the circumscribing circle ` ` ` `float` `r = 5; ` ` ` ` ` `cout << calculateSide(n, r); ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementation of the approach ` `import` `java.lang.Math; ` `import` `java.io.*; ` ` ` `class` `GFG { ` ` ` `// Function to calculate the side of the polygon ` `// circumscribed in a circle ` `static` `double` `calculateSide(` `double` `n, ` `double` `r) ` `{ ` ` ` `double` `theta, theta_in_radians; ` ` ` ` ` `theta = ` `360` `/ n; ` ` ` `theta_in_radians = theta * ` `3.14` `/ ` `180` `; ` ` ` ` ` `return` `2` `* r * Math.sin(theta_in_radians / ` `2` `); ` `} ` ` ` `// Driver Code ` ` ` `public` `static` `void` `main (String[] args) { ` ` ` ` ` `// Total sides of the polygon ` ` ` `double` `n = ` `3` `; ` ` ` ` ` `// Radius of the circumscribing circle ` ` ` `double` `r = ` `5` `; ` ` ` `System.out.println (calculateSide(n, r)); ` ` ` `} ` `//This code is contributed by akt_mit ` `} ` |

*chevron_right*

*filter_none*

## Python3

`# Python 3 implementation of the approach ` `from` `math ` `import` `sin ` ` ` `# Function to calculate the side of ` `# the polygon circumscribed in a circle ` `def` `calculateSide(n, r): ` ` ` `theta ` `=` `360` `/` `n ` ` ` `theta_in_radians ` `=` `theta ` `*` `3.14` `/` `180` ` ` ` ` `return` `2` `*` `r ` `*` `sin(theta_in_radians ` `/` `2` `) ` ` ` `# Driver Code ` `if` `__name__ ` `=` `=` `'__main__'` `: ` ` ` ` ` `# Total sides of the polygon ` ` ` `n ` `=` `3` ` ` ` ` `# Radius of the circumscribing circle ` ` ` `r ` `=` `5` ` ` ` ` `print` `(` `'{0:.5}'` `.` `format` `(calculateSide(n, r))) ` ` ` `# This code is contributed by ` `# Sanjit_Prasad ` |

*chevron_right*

*filter_none*

## C#

`// C# implementation of the approach ` ` ` `using` `System; ` ` ` `class` `GFG { ` ` ` ` ` `// Function to calculate the side of the polygon ` ` ` `// circumscribed in a circle ` ` ` `static` `double` `calculateSide(` `double` `n, ` `double` `r) ` ` ` `{ ` ` ` `double` `theta, theta_in_radians; ` ` ` ` ` `theta = 360 / n; ` ` ` `theta_in_radians = theta * 3.14 / 180; ` ` ` ` ` `return` `Math.Round(2 * r * Math.Sin(theta_in_radians / 2),4); ` ` ` `} ` ` ` ` ` `// Driver Code ` ` ` `public` `static` `void` `Main () { ` ` ` ` ` `// Total sides of the polygon ` ` ` `double` `n = 3; ` ` ` ` ` `// Radius of the circumscribing circle ` ` ` `double` `r = 5; ` ` ` ` ` `Console.WriteLine(calculateSide(n, r)); ` ` ` `} ` ` ` `// This code is contributed by Ryuga ` `} ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `// PHP implementation of the approach ` ` ` `// Function to calculate the side of the ` `// polygon circumscribed in a circle ` `function` `calculateSide(` `$n` `, ` `$r` `) ` `{ ` ` ` `$theta` `; ` `$theta_in_radians` `; ` ` ` ` ` `$theta` `= 360 / ` `$n` `; ` ` ` `$theta_in_radians` `= ` `$theta` `* 3.14 / 180; ` ` ` ` ` `return` `2 * ` `$r` `* sin(` `$theta_in_radians` `/ 2); ` `} ` ` ` `// Driver Code ` ` ` `// Total sides of the polygon ` `$n` `= 3; ` ` ` `// Radius of the circumscribing circle ` `$r` `= 5; ` ` ` `echo` `calculateSide(` `$n` `, ` `$r` `); ` ` ` `// This code is contributed by inder_verma.. ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

8.6576

## Recommended Posts:

- Area of a n-sided regular polygon with given side length
- Regular polygon using only 1s in a binary numbered circle
- Area of largest Circle inscribe in N-sided Regular polygon
- Area of square Circumscribed by Circle
- Area of a Circumscribed Circle of a Square
- Apothem of a n-sided regular polygon
- Length of Diagonal of a n-sided regular polygon
- Angle between 3 given vertices in a n-sided regular polygon
- Program to find the Perimeter of a Regular Polygon
- Area of a n-sided regular polygon with given Radius
- Program to find the Circumcircle of any regular polygon
- Determine the position of the third person on regular N sided polygon
- Program to find the Interior and Exterior Angle of a Regular Polygon
- Number of occurrences of a given angle formed using 3 vertices of a n-sided regular polygon
- Program to find Area of Triangle inscribed in N-sided Regular Polygon

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.