# Area of a n-sided regular polygon with given side length

Given a regular polygon of **N** sides with side length **a**. The task is to find the area of the polygon. **Examples:**

Input: N = 6, a = 9Output: 210.444Input :N = 7, a = 8Output :232.571

**Approach**: In the figure above, we see the polygon can be divided into **N** equal triangles. Looking into one of the triangles, we see that the whole angle at the center can be divided into = **360/N**

So, angle **t = 180/n**

Now, **tan(t) = a/2*h**

So, **h = a/(2*tan(t))**

Area of each triangle = **(base * height)/2 = a * a/(4*tan(t))**

So, area of the polygon,

A = n * (area of one triangle) = a^{2 * n/(4tan t)}

Below is the implementation of the above approach:

## C++

`// C++ Program to find the area of a regular` `// polygon with given side length` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the area` `// of a regular polygon` `float` `polyarea(` `float` `n, ` `float` `a)` `{` ` ` `// Side and side length cannot be negative` ` ` `if` `(a < 0 && n < 0)` ` ` `return` `-1;` ` ` `// Area` ` ` `// degree converted to radians` ` ` `float` `A = (a * a * n) / (4 * ` `tan` `((180 / n) * 3.14159 / 180));` ` ` `return` `A;` `}` `// Driver code` `int` `main()` `{` ` ` `float` `a = 9, n = 6;` ` ` `cout << polyarea(n, a) << endl;` ` ` `return` `0;` `}` |

## Java

`// Java Program to find the area of a regular` `// polygon with given side length` `import` `java.io.*;` `class` `GFG {` ` ` `// Function to find the area` `// of a regular polygon` `static` `float` `polyarea(` `float` `n, ` `float` `a)` `{` ` ` `// Side and side length cannot be negative` ` ` `if` `(a < ` `0` `&& n < ` `0` `)` ` ` `return` `-` `1` `;` ` ` `// Area` ` ` `// degree converted to radians` ` ` `float` `A = (a * a * n) /(` `float` `) (` `4` `* Math.tan((` `180` `/ n) * ` `3.14159` `/ ` `180` `));` ` ` `return` `A;` `}` `// Driver code` ` ` `public` `static` `void` `main (String[] args) {` ` ` `float` `a = ` `9` `, n = ` `6` `;` ` ` `System.out.println( polyarea(n, a));` ` ` `}` `}` `// This code is contributed by inder_verma..` |

## Python3

`# Python 3 Program to find the area` `# of a regular polygon with given` `# side length` `from` `math ` `import` `tan` `# Function to find the area of a` `# regular polygon` `def` `polyarea(n, a):` ` ` ` ` `# Side and side length cannot` ` ` `# be negative` ` ` `if` `(a < ` `0` `and` `n < ` `0` `):` ` ` `return` `-` `1` ` ` `# Area degree converted to radians` ` ` `A ` `=` `(a ` `*` `a ` `*` `n) ` `/` `(` `4` `*` `tan((` `180` `/` `n) ` `*` ` ` `3.14159` `/` `180` `))` ` ` `return` `A` `# Driver code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `a ` `=` `9` ` ` `n ` `=` `6` ` ` `print` `(` `'{0:.6}'` `.` `format` `(polyarea(n, a)))` `# This code is contributed by` `# Shashank_sharma` |

## C#

`// C# Program to find the area of a regular` `// polygon with given side length` `using` `System;` `class` `GFG` `{` `// Function to find the area` `// of a regular polygon` `static` `float` `polyarea(` `float` `n, ` `float` `a)` `{` ` ` `// Side and side length cannot be negative` ` ` `if` `(a < 0 && n < 0)` ` ` `return` `-1;` ` ` `// Area` ` ` `// degree converted to radians` ` ` `float` `A = (a * a * n) / (` `float` `)(4 * Math.Tan((180 / n) *` ` ` `3.14159 / 180));` ` ` `return` `A;` `}` `// Driver code` `public` `static` `void` `Main ()` `{` ` ` `float` `a = 9, n = 6;` ` ` ` ` `Console.WriteLine(polyarea(n, a));` `}` `}` `// This code is contributed` `// by Akanksha Rai` |

## PHP

`<?php` `// PHP Program to find the area of a regular` `// polygon with given side length` `// Function to find the area` `// of a regular polygon` `function` `polyarea(` `$n` `, ` `$a` `)` `{` ` ` `// Side and side length cannot` ` ` `// be negative` ` ` `if` `(` `$a` `< 0 && ` `$n` `< 0)` ` ` `return` `-1;` ` ` `// Area` ` ` `// degree converted to radians` ` ` `$A` `= (` `$a` `* ` `$a` `* ` `$n` `) / (4 * tan((180 / ` `$n` `) *` ` ` `3.14159 / 180));` ` ` `return` `$A` `;` `}` `// Driver code` `$a` `= 9 ;` `$n` `= 6 ;` `echo` `round` `(polyarea(` `$n` `, ` `$a` `), 3);` `// This code is contributed by Ryuga` `?>` |

## Javascript

`<script>` `// javascript Program to find the area of a regular` `// polygon with given side length` `// Function to find the area` `// of a regular polygon` `function` `polyarea(n , a)` `{` ` ` `// Side and side length cannot be negative` ` ` `if` `(a < 0 && n < 0)` ` ` `return` `-1;` ` ` `// Area` ` ` `// degree converted to radians` ` ` `var` `A = (a * a * n) / (4 * Math.tan((180 / n) * 3.14159 / 180));` ` ` `return` `A;` `}` `// Driver code` `var` `a = 9, n = 6;` `document.write( polyarea(n, a).toFixed(5));` `// This code contributed by Princi Singh` `</script>` |

**Output:**

210.444

**Time Complexity: **O(1)

**Auxiliary Space: **O(1)