# Program to check if N is a Decagonal Number

Given a number **N**, the task is to check if **N** is a Decagonal Number or not. If the number **N** is an Decagonal Number then print **“Yes”** else print **“No”**.

Decagonal Numberis a figurate number that extends the concept of triangular and square numbers to the decagon (10-sided polygon). Thenthdecagonal numbers count the number of dots in a pattern of n nested decagons, all sharing a common corner, where theithdecagon in the pattern has sides made ofi dotsspaced one unit apart from each other. The first few decagonal numbers are1, 10, 27, 52, 85, 126, 175, …

**Examples:**

Input:N = 10Output:YesExplanation:

Second decagonal number is 10.Input:N = 30Output:No

**Approach:**

- The
**K**term of the decagonal number is given as^{th}

- As we have to check that the given number can be expressed as a
**Decagonal Number**or not. This can be checked as:

=>

=>

- If the value of
**K**calculated using the above formula is an integer, then**N**is a Decagonal Number. - Else
**N**is not a Decagonal Number.

Below is the implementation of the above approach:

## C++

`// C++ program for the above approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to check if N is a` `// Decagonal Number` `bool` `isdecagonal(` `int` `N)` `{` ` ` `float` `n` ` ` `= (3 + ` `sqrt` `(16 * N + 9))` ` ` `/ 8;` ` ` `// Condition to check if the` ` ` `// number is a decagonal number` ` ` `return` `(n - (` `int` `)n) == 0;` `}` `// Driver Code` `int` `main()` `{` ` ` `// Given Number` ` ` `int` `N = 10;` ` ` `// Function call` ` ` `if` `(isdecagonal(N)) {` ` ` `cout << ` `"Yes"` `;` ` ` `}` ` ` `else` `{` ` ` `cout << ` `"No"` `;` ` ` `}` ` ` `return` `0;` `}` |

## Java

`// Java program for the above approach` `import` `java.lang.Math;` `class` `GFG{` ` ` `// Function to check if N is a` `// decagonal number` `public` `static` `boolean` `isdecagonal(` `int` `N)` `{` ` ` `double` `n = (` `3` `+ Math.sqrt(` `16` `* N + ` `9` `)) / ` `8` `;` ` ` ` ` `// Condition to check if the` ` ` `// number is a decagonal number` ` ` `return` `(n - (` `int` `)n) == ` `0` `;` `}` `// Driver code ` `public` `static` `void` `main(String[] args)` `{` ` ` ` ` `// Given number` ` ` `int` `N = ` `10` `;` ` ` ` ` `// Function call` ` ` `if` `(isdecagonal(N))` ` ` `{` ` ` `System.out.println(` `"Yes"` `);` ` ` `}` ` ` `else` ` ` `{` ` ` `System.out.println(` `"No"` `);` ` ` `}` `}` `}` `// This code is contributed by divyeshrabadiya07 ` |

## Python3

`# Python3 program for the above approach` `import` `math` `# Function to check if N is a` `# decagonal number` `def` `isdecagonal(N):` ` ` `n ` `=` `(` `3` `+` `math.sqrt(` `16` `*` `N ` `+` `9` `)) ` `/` `8` ` ` ` ` `# Condition to check if the` ` ` `# number is a decagonal number` ` ` `return` `(n ` `-` `int` `(n)) ` `=` `=` `0` ` ` `# Driver Code` `if` `__name__` `=` `=` `'__main__'` `:` ` ` ` ` `# Given number` ` ` `N ` `=` `10` ` ` ` ` `# Function Call` ` ` `if` `isdecagonal(N):` ` ` `print` `(` `'Yes'` `)` ` ` `else` `:` ` ` `print` `(` `'No'` `)` `# This code is contributed by rutvik_56` |

## C#

`// C# program for the above approach` `using` `System;` `class` `GFG{` ` ` `// Function to check if N` `// is a decagonal Number` `static` `bool` `isdecagonal(` `int` `N)` `{` ` ` `double` `n = (3 + Math.Sqrt(16 * N + 9)) / 8;` ` ` ` ` `// Condition to check if the` ` ` `// number is a decagonal number` ` ` `return` `(n - (` `int` `)n) == 0;` `}` ` ` `// Driver Code` `static` `public` `void` `Main ()` `{` ` ` ` ` `// Given Number` ` ` `int` `N = 10;` ` ` ` ` `// Function call` ` ` `if` `(isdecagonal(N))` ` ` `{` ` ` `Console.Write(` `"Yes"` `);` ` ` `}` ` ` `else` ` ` `{` ` ` `Console.Write(` `"No"` `);` ` ` `}` `}` `}` `// This code is contributed by ShubhamCoder` |

## Javascript

`<script>` `// javascript program for the above approach` `// Function to check if N is a` `// Decagonal Number` `function` `isdecagonal( N)` `{` ` ` `let n` ` ` `= (3 + Math.sqrt(16 * N + 9))` ` ` `/ 8;` ` ` `// Condition to check if the` ` ` `// number is a decagonal number` ` ` `return` `(n - parseInt(n)) == 0;` `}` `// Driver Code` ` ` `// Given Number` ` ` `let N = 10;` ` ` `// Function Call` ` ` `if` `(isdecagonal(N)) {` ` ` `document.write( ` `"Yes"` `);` ` ` `}` ` ` `else` `{` ` ` `document.write( ` `"No"` `);` ` ` `}` `// This code contributed by gauravrajput1` `</script>` |

**Output:**

Yes

**Time Complexity: **O(1)

**Auxiliary Space: **O(1)

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 experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.