# Program to check if N is a Centered dodecagonal number

• Last Updated : 08 Apr, 2021

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

Centered Dodecagonal Number represents a dot in the center and other dots surrounding it in successive Dodecagonal Number(12 sided polygon) layers. The first few Centered Dodecagonal Numbers are 1, 13, 37, 73 …

Examples:

Input: N = 13
Output: Yes
Explanation:
Second Centered dodecagonal number is 13.

Input: N = 30
Output: No

Approach:

1 The Kth term of the Centered Dodecagonal Number is given as:

2. As we have to check that the given number can be expressed as a Centered Dodecagonal Number or not. This can be checked as:

=>
=>

3. If the value of K calculated using the above formula is an integer, then N is a Centered Dodecagonal Number.

4. Else the number N is not a Centered Dodecagonal Number.

Below is the implementation of the above approach:

## C++

 // C++ program for the above approach#include using namespace std; // Function to check if number N// is a Centered dodecagonal numberbool isCentereddodecagonal(int N){    float n        = (6 + sqrt(24 * N + 12))          / 12;     // Condition to check if N    // is a Centered Dodecagonal Number    return (n - (int)n) == 0;} // Driver Codeint main(){    // Given Number    int N = 13;     // Function call    if (isCentereddodecagonal(N)) {        cout << "Yes";    }    else {        cout << "No";    }    return 0;}

## Java

 // Java program for the above approachimport java.util.*; class GFG{ // Function to check if number N// is a centered dodecagonal numberstatic boolean isCentereddodecagonal(int N){    float n = (float) ((6 + Math.sqrt(24 * N +                                      12)) / 12);     // Condition to check if N is a    // centered dodecagonal number    return (n - (int)n) == 0;} // Driver Codepublic static void main(String[] args){         // Given Number    int N = 13;     // Function call    if (isCentereddodecagonal(N))    {        System.out.print("Yes");    }    else    {        System.out.print("No");    }}} // This code is contributed by sapnasingh4991

## Python3

 # Python3 program for the above approachimport numpy as np # Function to check if the number N# is a centered dodecagonal numberdef isCentereddodecagonal(N):     n = (6 + np.sqrt(24 * N + 12)) / 12     # Condition to check if N    # is a centered dodecagonal number    return (n - int(n)) == 0 # Driver CodeN = 13 # Function callif (isCentereddodecagonal(N)):    print("Yes")else:    print("No") # This code is contributed by PratikBasu

## C#

 // C# program for the above approachusing System; class GFG{ // Function to check if number N// is a centered dodecagonal numberstatic bool isCentereddodecagonal(int N){    float n = (float) ((6 + Math.Sqrt(24 * N +                                      12)) / 12);     // Condition to check if N is a    // centered dodecagonal number    return (n - (int)n) == 0;} // Driver Codepublic static void Main(string[] args){         // Given Number    int N = 13;     // Function call    if (isCentereddodecagonal(N))    {        Console.Write("Yes");    }    else    {        Console.Write("No");    }}} // This code is contributed by rutvik_56

## Javascript

 

Output:

Yes

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up