Skip to content
Related Articles
Program to check if N is a Icositrigonal number
• Last Updated : 15 Mar, 2021

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

Icositrigonal number is 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 = 23
Output: Yes
Explanation:
Second icositrigonal number is 23.
Input: N = 30
Output: No

Approach:

1. The Kth term of the icositrigonal number is given as 2. As we have to check that the given number can be expressed as a icositrigonal number or not. This can be checked as follows –

=> => 1.
2. 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  using namespace std; // Function to check that the// number is a icositrigonal numberbool 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 Codeint 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 notimport java.util.*;class GFG{ // Function to check that the// number is a icositrigonal numberstatic 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 Codepublic 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 notimport math # Function to check that the number# is a icositrigonal numberdef 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 Codei = 23 # Function callif (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 notusing System;class GFG{ // Function to check that the// number is a icositrigonal numberstatic 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 Codepublic 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

 
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.

My Personal Notes arrow_drop_up