Program to check if N is a Tridecagonal Number or not

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

Tridecagon number is a thirteen-sided polygon. The first few Tridecagon numbers are 1, 13, 36, 70, 115, 171, …

Examples:

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

Input: N = 30
Output: No



Approach:

  1. The Kth term of the Tridecagon number is given as

    K^{th} Term = \frac{11*K^{2} - 9*K}{2}

  2. As we have to check that the given number can be expressed as a Tridecagon number or not. This can be checked as follows –

    => N =  \frac{11*K^{2} - 9*K}{2}
    => K = \frac{9 + \sqrt{88*N + 81}}{22}

  3. Finally, check the value of computed using this formulae is an integer, which means that N is a Tridecagon number.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation to check that
// a number is a Tridecagon number or not
  
#include <bits/stdc++.h>
  
using namespace std;
  
// Function to check that the
// number is a Tridecagon number
bool isTridecagon(int N)
{
    float n
        = (9 + sqrt(88 * N + 81))
          / 22;
  
    // Condition to check if the
    // number is a Tridecagon number
    return (n - (int)n) == 0;
}
  
// Driver Code
int main()
{
    int i = 13;
  
    // Function call
    if (isTridecagon(i)) {
        cout << "Yes";
    }
    else {
        cout << "No";
    }
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation to check that a 
// number is a tridecagon number or not
class GFG{
  
// Function to check that the
// number is a tridecagon number
static boolean isTridecagon(int N)
{
    float n = (float) ((9 + Math.sqrt(88 * N +
                                      81)) / 22);
  
    // Condition to check if the
    // number is a tridecagon number
    return (n - (int)n) == 0;
}
  
// Driver Code
public static void main(String[] args)
{
    int i = 13;
  
    // Function call
    if (isTridecagon(i))
    {
        System.out.print("Yes");
    }
    else
    {
        System.out.print("No");
    }
}
}
  
// This code is contributed by 29AjayKumar

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 implementation to check that 
# a number is a tridecagon number or not 
import math
  
# Function to check that the 
# number is a tridecagon number 
def isTridecagon(N): 
  
    n = (9 + math.sqrt(88 * N + 81)) / 22
  
    # Condition to check if the 
    # number is a tridecagon number 
    return (n - int(n)) == 0
  
# Driver Code 
i = 13
  
# Function call 
if (isTridecagon(i)): 
    print("Yes"
else
    print("No")
          
# This code is contributed by divyamohan123

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation to check that a 
// number is a tridecagon number or not
using System;
  
class GFG{
  
// Function to check that the
// number is a tridecagon number
static bool isTridecagon(int N)
{
    float n = (float)((9 + Math.Sqrt(88 * N +
                                     81)) / 22);
  
    // Condition to check if the
    // number is a tridecagon number
    return (n - (int)n) == 0;
}
  
// Driver Code
public static void Main()
{
    int i = 13;
  
    // Function call
    if (isTridecagon(i))
    {
        Console.Write("Yes");
    }
    else
    {
        Console.Write("No");
    }
}
}
  
// This code is contributed by Code_Mech

chevron_right


Output:

Yes

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.