Given an integer **a** which is the side of a regular pentagon, the task is to find and print the length of its diagonal.

**Examples:**

Input:a = 6Output:7.32Input:a = 9Output:10.98

**Approach:** We know that the sum of interior angles of a polygon = **(n – 2) * 180** where, **n** is the no. of sides in the polygon.

So, sum of interior angles of pentagon = **3 * 180 = 540** and each interior angle will be **108**.

Now, we have to find **BC = 2 * x**. If we draw a perpendicular **AO** on **BC**, we will see that the perpendicular bisects **BC** in **BO** and **OC**, as triangles **AOB** and **AOC** are congruent to each other.

So, in triangle **AOB**, **sin(54) = x / a** i.e. **x = 0.61 * a**

Therefore, diagonal length will be **2 * x** i.e. **1.22 * a**.

Below is the implementation of the above approach:

## C++

`// C++ Program to find the diagonal` `// of a regular pentagon` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the diagonal` `// of a regular pentagon` `float` `pentdiagonal(` `float` `a)` `{` ` ` `// Side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// Length of the diagonal` ` ` `float` `d = 1.22 * a;` ` ` `return` `d;` `}` `// Driver code` `int` `main()` `{` ` ` `float` `a = 6;` ` ` `cout << pentdiagonal(a) << endl;` ` ` `return` `0;` `}` |

## Java

`// Java Program to find the diagonal` `// of a regular pentagon` `class` `GFG` `{` ` ` `// Function to find the diagonal` `// of a regular pentagon` `static` `double` `pentdiagonal(` `double` `a)` `{` ` ` `// Side cannot be negative` ` ` `if` `(a < ` `0` `)` ` ` `return` `-` `1` `;` ` ` `// Length of the diagonal` ` ` `double` `d = ` `1.22` `* a;` ` ` `return` `d;` `}` `// Driver code` `static` `public` `void` `main (String args[])` `{` ` ` `double` `a = ` `6` `;` ` ` `System.out.println(pentdiagonal(a));` `}` `}` `// This code is contributed` `// by Akanksha Rai` |

## Python3

`# Python3 Program to find the diagonal` `# of a regular pentagon` `# Function to find the diagonal` `# of a regular pentagon` `def` `pentdiagonal(a) :` ` ` `# Side cannot be negative` ` ` `if` `(a < ` `0` `) :` ` ` `return` `-` `1` ` ` `# Length of the diagonal` ` ` `d ` `=` `1.22` `*` `a` ` ` `return` `d` `# Driver code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `a ` `=` `6` ` ` `print` `(pentdiagonal(a))` `# This code is contributed by Ryuga` |

## C#

`// C# Program to find the diagonal` `// of a regular pentagon` `using` `System;` `public` `class` `GFG{` ` ` `// Function to find the diagonal` `// of a regular pentagon` `static` `double` `pentdiagonal(` `double` `a)` `{` ` ` `// Side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` `// Length of the diagonal` ` ` `double` `d = 1.22 * a;` ` ` `return` `d;` `}` `// Driver code` ` ` `static` `public` `void` `Main (){` ` ` `double` `a = 6;` ` ` `Console.WriteLine(pentdiagonal(a));` ` ` `}` `}` |

## PHP

`<?php` `// PHP Program to find the diagonal` `// of a regular pentagon` `// Function to find the diagonal` `// of a regular pentagon` `function` `pentdiagonal(` `$a` `)` `{` ` ` `// Side cannot be negative` ` ` `if` `(` `$a` `< 0)` ` ` `return` `-1;` ` ` `// Length of the diagonal` ` ` `$d` `= 1.22 * ` `$a` `;` ` ` `return` `$d` `;` `}` `// Driver code` `$a` `= 6;` `echo` `pentdiagonal(` `$a` `);` `// This code is contributed` `// by Sach_Code` `?>` |

## Javascript

`<script>` ` ` `// Javascript Program to find the diagonal` ` ` `// of a regular pentagon` ` ` ` ` `// Function to find the diagonal ` ` ` `// of a regular pentagon` ` ` `function` `pentdiagonal(a)` ` ` `{` ` ` ` ` `// Side cannot be negative` ` ` `if` `(a < 0)` ` ` `return` `-1;` ` ` ` ` `// Length of the diagonal` ` ` `let d = 1.22 * a;` ` ` `return` `d;` ` ` `}` ` ` ` ` `let a = 6;` ` ` `document.write(pentdiagonal(a));` ` ` `</script>` |

**Output:**

7.32

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend live classes with industry experts, please refer **Geeks Classes Live**