Given a positive integer n, print a hexagonal pattern using start with each sides containing n stars.
Example :
Input : 4
Output :
*
* *
* *
* *
* *
* *
* *
* *
* *
*
// Hexagon pattern with each side
// having n stars where n is the user input.
Input : 6
Output :
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
C++
#include <stdio.h>
void printHexagon( int n)
{
int l = 2 * n - 1;
for ( int i = 0; i < n; i++)
{
int elem = i + n;
for ( int k = 0; k < elem; k++)
{
if ((k == n + i - 1) || (k == n - i - 1))
printf ( "*" );
else
printf ( " " );
}
printf ( "\n" );
}
for ( int m = 0; m < n - 2; m++)
{
for ( int j = 0; j < l; j++)
{
if (j == 0 || j == l - 1)
printf ( "*" );
else
printf ( " " );
}
printf ( "\n" );
}
int r = n - 1;
for ( int h = r; h >= 0; h--)
{
int elem = h + n;
for ( int k = 0; k < elem; k++)
{
if ((k == n + h - 1) || (k == n - h - 1))
printf ( "*" );
else
printf ( " " );
}
printf ( "\n" );
}
}
int main()
{
int n = 3;
printHexagon(n);
return 0;
}
|
Java
class GFG
{
static void printHexagon( int n)
{
int l = 2 * n - 1 ;
for ( int i = 0 ; i < n; i++)
{
int elem = i + n;
for ( int k = 0 ; k < elem; k++)
{
if ((k == n + i - 1 ) ||
(k == n - i - 1 ))
System.out.print( "*" );
else
System.out.print( " " );
}
System.out.print( "\n" );
}
for ( int m = 0 ; m < n - 2 ; m++)
{
for ( int j = 0 ; j < l; j++)
{
if (j == 0 || j == l - 1 )
System.out.print( "*" );
else
System.out.print( " " );
}
System.out.print( "\n" );
}
/**** Print Lower part *****/
int r = n - 1 ;
for ( int h = r; h >= 0 ; h--)
{
int elem = h + n;
for ( int k = 0 ; k < elem; k++)
{
if ((k == n + h - 1 ) ||
(k == n - h - 1 ))
System.out.print( "*" );
else
System.out.print( " " );
}
System.out.print( "\n" );
}
}
public static void main (String[] args)
{
int n = 3 ;
printHexagon(n);
}
}
|
Python 3
def printHexagon(n):
l = 2 * n - 1
for i in range ( 0 , n):
elem = i + n
for k in range ( 0 , elem):
if ((k = = n + i - 1 ) or
(k = = n - i - 1 )):
print ( "*" , end = "")
else :
print ( " " , end = "")
print ("")
for m in range ( 0 , n - 2 ):
for j in range ( 0 , l):
if (j = = 0 or j = = l - 1 ):
print ( "*" , end = "")
else :
print ( " " , end = "")
print ("")
r = n - 1
for h in range (r, - 1 , - 1 ):
elem = h + n
for k in range ( 0 , elem):
if ((k = = n + h - 1 ) or
(k = = n - h - 1 )):
print ( "*" , end = "")
else :
print ( " " , end = "")
print ("")
n = 3
printHexagon(n)
|
C#
using System;
class GFG
{
static void printHexagon( int n)
{
int l = 2 * n - 1;
for ( int i = 0; i < n; i++)
{
int elem = i + n;
for ( int k = 0; k < elem; k++)
{
if ((k == n + i - 1) ||
(k == n - i - 1))
Console.Write( "*" );
else
Console.Write( " " );
}
Console.WriteLine();
}
for ( int m = 0; m < n - 2; m++)
{
for ( int j = 0; j < l; j++)
{
if (j == 0 || j == l - 1)
Console.Write( "*" );
else
Console.Write( " " );
}
Console.WriteLine();
}
int r = n - 1;
for ( int h = r; h >= 0; h--)
{
int elem = h + n;
for ( int k = 0; k < elem; k++)
{
if ((k == n + h - 1) ||
(k == n - h - 1))
Console.Write( "*" );
else
Console.Write( " " );
}
Console.WriteLine();
}
}
public static void Main ()
{
int n = 3;
printHexagon(n);
}
}
|
PHP
<?php
function printHexagon( $n )
{
$l = 2 * $n - 1;
for ( $i = 0; $i < $n ; $i ++)
{
$elem = $i + $n ;
for ( $k = 0; $k < $elem ; $k ++)
{
if (( $k == $n + $i - 1) ||
( $k == $n - $i - 1))
printf( "*" );
else
printf( " " );
}
printf( "\n" );
}
for ( $m = 0; $m < $n - 2; $m ++)
{
for ( $j = 0; $j < $l ; $j ++)
{
if ( $j == 0 || $j == $l - 1)
printf( "*" );
else
printf( " " );
}
printf( "\n" );
}
$r = $n - 1;
for ( $h = $r ; $h >= 0; $h --)
{
$elem = $h + $n ;
for ( $k = 0; $k < $elem ; $k ++)
{
if (( $k == $n + $h - 1) ||
( $k == $n - $h - 1))
printf( "*" );
else
printf( " " );
}
printf( "\n" );
}
}
$n = 3;
printHexagon( $n );
?>
|
Javascript
<script>
function printHexagon(n)
{
var l = 2 * n - 1;
for ( var i = 0; i < n; i++)
{
var elem = i + n;
for ( var k = 0; k < elem; k++)
{
if (k == n + i - 1 || k == n - i - 1) document.write( "*" );
else document.write( " " );
}
document.write( "<br>" );
}
for ( var m = 0; m < n - 2; m++)
{
for ( var j = 0; j < l; j++)
{
if (j == 0 || j == l - 1) document.write( "*" );
else document.write( " " );
}
document.write( "<br>" );
}
var r = n - 1;
for ( var h = r; h >= 0; h--)
{
var elem = h + n;
for ( var k = 0; k < elem; k++)
{
if (k == n + h - 1 || k == n - h - 1) document.write( "*" );
else document.write( " " );
}
document.write( "<br>" );
}
}
var n = 3;
printHexagon(n);
</script>
|
Output :
*
* *
* *
* *
* *
* *
*
Time complexity: O(n^2) for given input n
Auxiliary space: O(1)