Skip to content
Related Articles

Related Articles

Hexagonal Number

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 21 Jun, 2022

Given an integer n, the task is to find the nth hexagonal number . The nth hexagonal number Hn is the number of distinct dots in a pattern of dots consisting of the outlines of regular hexagons with sides up to n dots when the hexagons are overlaid so that they share one vertex.{Source : wiki}
 

Input: n = 2
Output: 6

Input: n = 5
Output: 45

Input: n = 7
Output: 91

 

In general, a polygonal number (triangular number, square number, etc) is a number represented as dots or pebbles arranged in the shape of a regular polygon. The first few pentagonal numbers are 1, 5, 12, etc. 
If s is the number of sides in a polygon, the formula for the nth s-gonal number P (s, n) is 
 

nth s-gonal number P(s, n) = (s - 2)n(n-1)/2 + n

If we put s = 6, we get

n'th Hexagonal number Hn = 2(n*n)-n 
                             = n(2n - 1) 

 

C++




// C++ program for above approach
#include<bits/stdc++.h>
using namespace std;
  
// Finding the nth Hexagonal Number
int hexagonalNum(int n){
    return n*(2*n - 1);
}
 
// Driver program to test above function
int main(){
    int n = 10;
    cout << "10th Hexagonal Number is "<< hexagonalNum(n) << endl;
    return 0;
}
 
// The code is contributed by Gautam goel (gautamgoel962)

C




// C program for above approach
#include <stdio.h>
#include <stdlib.h>
 
// Finding the nth Hexagonal Number
int hexagonalNum(int n)
{
    return n*(2*n - 1);
}
 
// Driver program to test above function
int main()
{
    int n = 10;
    printf("10th Hexagonal Number is = %d",
                             hexagonalNum(n));
 
    return 0;
}

Java




// Java program for above approach
class Hexagonal
{
    int hexagonalNum(int n)
    {
        return n*(2*n - 1);
    }
}
 
public class GeeksCode
{
    public static void main(String[] args)
    {
        Hexagonal obj = new Hexagonal();
        int n = 10;
        System.out.printf("10th Hexagonal number is = "
                          + obj.hexagonalNum(n));
    }
}

Python3




# Python program for finding Hexagonal numbers
def hexagonalNum( n ):
    return n*(2*n - 1)
 
# Driver code
n = 10
print ("10th Hexagonal Number is = ", hexagonalNum(n))

C#




// C# program for above approach
using System;
 
class GFG {
     
    static int hexagonalNum(int n)
    {
        return n * (2 * n - 1);
    }
 
    public static void Main()
    {
     
        int n = 10;
         
        Console.WriteLine("10th Hexagonal"
        + " number is = " + hexagonalNum(n));
    }
}
 
// This code is contributed by vt_m.

PHP




<?php
// PHP program for above approach
 
// Finding the nth Hexagonal Number
function hexagonalNum($n)
{
    return $n * (2 * $n - 1);
}
 
// Driver program to test above function
$n = 10;
echo("10th Hexagonal Number is " .
                        hexagonalNum($n));
 
// This code is contributed by Ajit.
?>

Javascript




<script>
 
// Javascript program for above approach
 
// centered pentadecagonal function
function hexagonalNum(n)
{
    return n * (2 * n - 1);
}
 
// Driver Code
var n = 10;
document.write("10th Hexagonal number is = " +
               hexagonalNum(n));
 
// This code is contributed by Kirti
     
</script>

Output: 

10th Hexagonal Number is =  190

Time complexity: O(1) since performing constant operations

Reference:https://en.wikipedia.org/wiki/Hexagonal_number
This article is contributed by Nishant_Singh(pintu). If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeek’s main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!