GeeksforGeeks App
Open App
Browser
Continue

# Program to check if N is a Star Number

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

Star number is a centered figurate number that represents a centered hexagram (six-pointed star) similar to Chinese checker game. The first few Star numbers are 1, 13, 37, 73 …

Examples:

Input: N = 13
Output: Yes
Explanation:
Second star number is 13.
Input: 14
Output: No
Explanation:
Second star number is 13, where as 37 is third.
Therefore, 14 is not a star number.

Approach:

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

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

=>
=>
=>

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

Below is the implementation of the above approach:

## C++

 // C++ implementation to check that// a number is a star number or not #include  using namespace std; // Function to check that the// number is a star numberbool isStar(int N){    float n        = (6 + sqrt(24 * N + 12))          / 6;     // Condition to check if the    // number is a star number    return (n - (int)n) == 0;} // Driver Codeint main(){    int i = 13;     // Function call    if (isStar(i)) {        cout << "Yes";    }    else {        cout << "No";    }    return 0;}

## Java

 // Java implementation to check that// a number is a star number or notimport java.io.*;import java.util.*; class GFG{     // Function to check that the// number is a star numberstatic boolean isStar(int N){    double n = (6 + Math.sqrt(24 * N + 12)) / 6;     // Condition to check if the    // number is a star number    return (n - (int)n) == 0;}     // Driver codepublic static void main(String[] args){    int i = 13;     // Function call    if (isStar(i))    {        System.out.println("Yes");    }    else    {        System.out.println("No");    }}} // This code is contributed by coder001

## Python3

 # Python3 implementation to check that# a number is a star number or notimport math # Function to check that the# number is a star numberdef isStar(N):         n = (math.sqrt(24 * N + 12) + 6) / 6         # Condition to check if the    # number is a star number    return (n - int(n)) == 0     # Driver Codei = 13 # Function callif isStar(i):    print("Yes")else:    print("No") # This code is contributed by ishayadav181

## C#

 // C# implementation to check that// a number is a star number or notusing System; class GFG{     // Function to check that the// number is a star numberstatic bool isStar(int N){    double n = (6 + Math.Sqrt(24 * N + 12)) / 6;     // Condition to check if the    // number is a star number    return (n - (int)n) == 0;}     // Driver codepublic static void Main(){    int i = 13;     // Function call    if (isStar(i))    {        Console.WriteLine("Yes");    }    else    {        Console.WriteLine("No");    }}} // This code is contributed by Code_Mech

## Javascript

 

Output:

Yes

Time Complexity: O(logN) because inbuilt sqrt function has been used, which has time complexity O(logN)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up