Given an integer **N**, the task is to check if it is an Icositrigonal number or not.

Icositrigonal numberis a class of figurate number. It has 23 – sided polygon called Icositrigon. The N-th Icositrigonal number count’s the 23 number of dots and all others dots are surrounding with a common sharing corner and make a pattern. The first few Icositrigonol numbers are 1, 23, 66, 130, 215, 321, 448 …

**Examples:**

Input:N = 23Output:YesExplanation:

Second icositrigonal number is 23.Input:N = 30Output:No

**Approach:**

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

- As we have to check that the given number can be expressed as a icositrigonal number or not. This can be checked as follows –

=>

=>

- Finally, check the value of computed using this formulae is an integer, which means that N is a icositrigonal number.

Below is the implementation of the above approach:

## C++

`// C++ implementation to check that` `// a number is a icositrigonal number or not` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to check that the` `// number is a icositrigonal number` `bool` `isicositrigonal(` `int` `N)` `{` ` ` `float` `n` ` ` `= (19 + ` `sqrt` `(168 * N + 361))` ` ` `/ 42;` ` ` `// Condition to check if the` ` ` `// number is a icositrigonal number` ` ` `return` `(n - (` `int` `)n) == 0;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `i = 23;` ` ` `// Function call` ` ` `if` `(isicositrigonal(i)) {` ` ` `cout << ` `"Yes"` `;` ` ` `}` ` ` `else` `{` ` ` `cout << ` `"No"` `;` ` ` `}` ` ` `return` `0;` `}` |

## Java

`// Java implementation to check that` `// a number is a icositrigonal number or not` `import` `java.util.*;` `class` `GFG{` `// Function to check that the` `// number is a icositrigonal number` `static` `boolean` `isicositrigonal(` `int` `N)` `{` ` ` `float` `n = (` `float` `)(` `19` `+ Math.sqrt(` `168` `* N + ` `361` `)) / ` `42` `;` ` ` `// Condition to check if the` ` ` `// number is a icositrigonal number` ` ` `return` `(n - (` `int` `)n) == ` `0` `;` `}` `// Driver Code` `public` `static` `void` `main(String args[])` `{` ` ` `int` `i = ` `23` `;` ` ` `// Function call` ` ` `if` `(isicositrigonal(i))` ` ` `{` ` ` `System.out.print(` `"Yes"` `);` ` ` `}` ` ` `else` ` ` `{` ` ` `System.out.print(` `"No"` `);` ` ` `}` `}` `}` `// This code is contributed by Akanksha_Rai` |

## Python3

`# Python3 implementation to check that a ` `# number is a icositrigonal number or not` `import` `math` `# Function to check that the number` `# is a icositrigonal number` `def` `isicositrigonal(N):` ` ` `n ` `=` `(` `19` `+` `math.sqrt(` `168` `*` `N ` `+` `361` `)) ` `/` `42` ` ` `# Condition to check if the number ` ` ` `# is a icositrigonal number` ` ` `return` `(n ` `-` `int` `(n)) ` `=` `=` `0` `# Driver Code` `i ` `=` `23` `# Function call` `if` `(isicositrigonal(i)):` ` ` `print` `(` `"Yes"` `)` `else` `:` ` ` `print` `(` `"No"` `)` `# This code is contributed by divyamohan123` |

## C#

`// C# implementation to check that` `// a number is a icositrigonal number or not` `using` `System;` `class` `GFG{` `// Function to check that the` `// number is a icositrigonal number` `static` `bool` `isicositrigonal(` `int` `N)` `{` ` ` `float` `n = (` `float` `)(19 + Math.Sqrt(168 * N + 361)) / 42;` ` ` `// Condition to check if the` ` ` `// number is a icositrigonal number` ` ` `return` `(n - (` `int` `)n) == 0;` `}` `// Driver Code` `public` `static` `void` `Main()` `{` ` ` `int` `i = 23;` ` ` `// Function call` ` ` `if` `(isicositrigonal(i))` ` ` `{` ` ` `Console.Write(` `"Yes"` `);` ` ` `}` ` ` `else` ` ` `{` ` ` `Console.Write(` `"No"` `);` ` ` `}` `}` `}` `// This code is contributed by Nidhi_Biet` |

## Javascript

`<script>` `// JavaScript implementation to check that` `// a number is a icositrigonal number or not` `// Function to check that the` `// number is a icositrigonal number` `function` `isicositrigonal(N)` `{` ` ` `var` `n` ` ` `= (19 + Math.sqrt(168 * N + 361))` ` ` `/ 42;` ` ` `// Condition to check if the` ` ` `// number is a icositrigonal number` ` ` `return` `(n - parseInt(n)) == 0;` `}` `// Driver Code` `var` `i = 23;` `// Function call` `if` `(isicositrigonal(i)) {` ` ` `document.write(` `"Yes"` `);` `}` `else` `{` ` ` `document.write(` `"No"` `);` `}` ` ` `</script>` |

**Output:**

Yes

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**