GFG App
Open App
Browser
Continue

# 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 number bool 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 Code int main() {     // Given Number     int N = 14;       // Function call     if (isCenteredtridecagonal(N)) {         cout << "Yes";     }     else {         cout << "No";     }     return 0; }

## Java

 // Java program for the above approach class GFG{   // Function to check if the number N // is a centered tridecagonal number static 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 Code public 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 approach import 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)

My Personal Notes arrow_drop_up