# Program to check if N is a Centered heptagonal number

• Last Updated : 19 Sep, 2022

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

Centered heptagonal number is centered figure number that represents a heptagon with dot in center and all other dot surrounding in heptagonal form..The first few Centered heptagonal number are 1, 8, 22, 43, 71, 106, 148, …

Examples:

Input: N = 8
Output: Yes
Explanation:
8 is the Second Centered heptagonal number.
Input: 20
Output: No
Explanation:
20 is not a Centered heptagonal number.

Approach:
To solve the problem mentioned above we have to know that the Kth term of the Centered heptagonal number is given as: As we have to check that the given number can be expressed as a Centered heptagonal number or not. This can be checked by generalizing the equation as:

=> => Finally, check the value of computation using this formula if it is an integer, if yes then it means that N is a Centered heptagonal number.
Below is the implementation of the above approach:

## C++

 // C++ implementation to check that// a number is a Centered// heptagonal number or not #include using namespace std; // Function to check that the// number is a Centered// heptagonal numberbool isCenteredheptagonal(int N){    float n = (7 + sqrt(56 * N - 7)) / 14;     // Condition to check if the    // number is a Centered heptagonal number    return (n - (int)n) == 0;} // Driver Codeint main(){    int n = 8;     // Function call    if (isCenteredheptagonal(n)) {        cout << "Yes";    }    else {        cout << "No";    }    return 0;}

## Java

 // Java implementation to check that// a number is a Centered// heptagonal number or notimport java.lang.Math; class GFG{     // Function to check that the// number is a Centered// heptagonal numberpublic static boolean isCenteredheptagonal(int N){    double n = (7 + Math.sqrt(56 * N - 7)) / 14;     // Condition to check if the    // number is a Centered heptagonal number    return (n - (int)n) == 0;} // Driver Codepublic static void main(String[] args){    int n = 8;     // Function call    if (isCenteredheptagonal(n))    {        System.out.println("Yes");    }    else    {        System.out.println("No");    }}} // This code is contributed by divyeshrabadiya07

## Python3

 # Python3 implementation to check# that a number is a centered# heptagonal number or notimport math # Function to check that the# number is a centered# heptagonal numberdef isCenteredheptagonal(N):         n = (7 + math.sqrt(56 * N - 7)) / 14         # Condition to check if the number    # is a centered heptagonal number    return (n - int(n)) == 0     # Driver Coden = 8 # Function callif (isCenteredheptagonal(n)):    print("Yes")else:    print("No")     # This code is contributed by ShubhamCoder

## C#

 // C# implementation to check that// a number is a centered// heptagonal number or notusing System; class GFG{ // Function to check that the// number is a centered// heptagonal numberstatic bool isCenteredheptagonal(int N){    double n = (7 + Math.Sqrt(56 * N - 7)) / 14;         // Condition to check if the number    // is a centered heptagonal number    return (n - (int)n) == 0;}     // Driver Codestatic public void Main (){    int n = 8;         // Function call    if (isCenteredheptagonal(n))    {        Console.Write("Yes");    }    else    {        Console.Write("No");    }}} // This code is contributed by ShubhamCoder

## Javascript

 

Output:

Yes

Time Complexity: O(logN)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up