# Program to check if N is a Hexadecagonal Number

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

Hexadecagonal Number is class of figurate number and a perfect squares. It has 16-sided polygon called Hexadecagon or Hexakaidecagon. The nth Hexadecagonal Number counts the sixteen number of dots and all others dots are surrounding to its successive layer.The first few Hexadecagonal Numbers are 1, 16, 45, 88, 145, 216…

Examples:

Input: N = 16
Output: Yes
Explanation:

Input: N = 30
Output: No

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

1. The Kth term of the hexadecagonal number is given as 2. As we have to check that the given number can be expressed as a Hexadecagonal 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 Hexadecagonal Number.
4. Else N is not a Hexadecagonal Number.

Below is the implementation of the above approach:

## C++

 // C++ program for the above approach  #include  using namespace std;     // Function to check if N is a  // hexadecagonal number  bool ishexadecagonal(int N)  {      float n          = (12 + sqrt(112 * N + 144))            / 28;         // Condition to check if the      // number is a hexadecagonal number      return (n - (int)n) == 0;  }     // Driver Code  int main()  {      // Given Number      int N = 16;         // Function call      if (ishexadecagonal(N)) {          cout << "Yes";      }      else {          cout << "No";      }      return 0;  }

## Java

 // Java program for the above approach   import java.lang.Math;     class GFG{         // Function to check if N is a   // hexadecagonal number   public static boolean ishexadecagonal(int N)   {       double n = (12 + Math.sqrt(112 * N +                                 144)) / 28;              // Condition to check if the       // number is a hexadecagonal number       return (n - (int)n) == 0;   }          // Driver code      public static void main(String[] args)  {                 // Given number       int N = 16;              // Function call       if (ishexadecagonal(N))      {           System.out.println("Yes");      }       else     {           System.out.println("No");      }   }  }     // This code is contributed by divyeshrabadiya07

## Python3

 # Python3 program for the above approach  from math import sqrt     # Function to check if N is   # a hexadecagonal number  def ishexadecagonal(N):         n = (12 + sqrt(112 * N + 144)) / 28;         # Condition to check if the number       # is a hexadecagonal number      return (n - int(n)) == 0;     # Driver code  if __name__ == "__main__":         # Given number      N = 16;         # Function call      if (ishexadecagonal(N)):          print("Yes");      else:          print("No");         # This code is contributed by AnkitRai01

## C#

 // C# program for the above approach   using System;     class GFG{         // Function to check if N is a   // hexadecagonal number   public static bool ishexadecagonal(int N)   {       double n = (12 + Math.Sqrt(112 * N +                               144)) / 28;              // Condition to check if the       // number is a hexadecagonal number       return (n - (int)n) == 0;   }          // Driver code   public static void Main(string[] args)  {                 // Given number       int N = 16;              // Function call       if (ishexadecagonal(N))      {           Console.Write("Yes");      }       else     {           Console.Write("No");      }   }  }     // This code is contributed by rutvik_56

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.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.