# Program to check if N is a Centered Tridecagonal Number

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

Centered tridecagonal number represents a dot at the center and other dots surrounding the center dot in the successive tridecagonal(13 sided polygon) layer. The first few Centered tridecagonal numbers are 1, 14, 40, 79 …

Examples:

Input: N = 14
Output: Yes
Explanation:
Second Centered tridecagonal number is 14.

Input: N = 30
Output: No

Approach:

1. The Kth term of the Centered Tridecagonal Number is given as

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

=>
=>

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

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

Below is the implementation of the above approach:

## C++

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

## Java

 // Java program for the above approachclass GFG{ // Function to check if the number N// is a centered tridecagonal numberstatic boolean isCenteredtridecagonal(int N){    float n = (float) ((13 + Math.sqrt(104 * N +                                        65)) / 26);     // Condition to check if the N    // is a centered tridecagonal number    return (n - (int)n) == 0;} // Driver Codepublic static void main(String[] args){         // Given Number    int N = 14;     // Function call    if (isCenteredtridecagonal(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 tridecagonal number def isCenteredtridecagonal(N):     n = (13 + np.sqrt(104 * N + 65)) / 26     # Condition to check if N     # is centered tridecagonal number    return (n - int(n)) == 0 # Driver Code N = 14 # Function call if (isCenteredtridecagonal(N)):    print ("Yes") else:    print ("No") # This code is contributed by PratikBasu

## C#

 // C# program for the above approach using System;  class GFG{  // Function to check if the number N // is a centered tridecagonal number static bool isCenteredtridecagonal(int N) {     float n = (float) ((13 + Math.Sqrt(104 * N +                                        65)) / 26);      // Condition to check if the N     // is a centered tridecagonal number     return (n - (int)n) == 0; }  // Driver Code public static void Main(string[] args) {          // Given Number     int N = 14;      // Function call     if (isCenteredtridecagonal(N))     {         Console.Write("Yes");     }     else    {         Console.Write("No");     } } }  // This code is contributed by rutvik_56

## Javascript

 

Output:
Yes

Time Complexity: O(logN) since inbuilt sqrt function is being used

Auxiliary Space: O(1)

Previous
Next