# Print the pyramid pattern with given height and minimum number of stars

• Difficulty Level : Medium
• Last Updated : 22 Apr, 2021

Given the minimum number of stars and the height of the pyramid, print the pattern.
Examples:

```Input: min_stars = 1
p_height = 5
Output:

*        *
***      ***
*****    *****
*******  *******
******************

Input: min_stars = 3
p_height = 7
Output:

***            ***
*****          *****
*******        *******
*********      *********
***********    ***********
*************  *************
******************************```

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.

The approach is to run a loop up to the height of the pyramid.

1. Run a loop to print spaces required.
2. Print the left pyramid.
3. Run a loop to print spaces required in the middle.
4. Print the right pyramid.

Below is the program to print the above pattern:

## C++

 `// C++ implementation to print the pattern``#include ``using` `namespace` `std;` `// Function definition``void` `pattern(``int` `min_stars, ``int` `p_height)``{``    ``int` `p_space;``    ``p_space = p_height - 1;``    ``int` `i, j, k, n, x;``    ``x = 1;` `    ``// for loop for height of pyramid``    ``for` `(i = 0; i < p_height; i++) {` `        ``// for loop for spaces``        ``for` `(j = p_space; j > i; j--) {``            ``cout << ``" "``;``        ``}` `        ``// for loop for printing``        ``// left pyramid``        ``for` `(k = 0; k < min_stars; k++)``            ``cout << ``"*"``;` `        ``// for loop for spaces in middle``        ``for` `(n = (p_height + p_height - 2);``             ``n >= x; n--)``            ``cout << ``" "``;` `        ``// for loop for printing``        ``// right pyramid``        ``for` `(k = 0; k < min_stars; k++)``            ``cout << ``"*"``;` `        ``min_stars = min_stars + 2;``        ``x = x + 2;``        ``cout << endl;``    ``}``}` `// Driver code``int` `main()``{``    ``/* change value to set minimum,``    ``number of stars in pyramid */``    ``int` `min_stars = 1;` `    ``/* change value to increase or``    ``decrease size of pyramid */``    ``int` `p_height = 5;` `    ``// function calling``    ``pattern(min_stars, p_height);``    ``return` `0;``}`

## Java

 `// Java implementation``// to print the pattern``import` `java.io.*;` `class` `GFG``{``    ` `// Function definition``static` `void` `pattern(``int` `min_stars,``                    ``int` `p_height)``{``    ``int` `p_space;``    ``p_space = p_height - ``1``;``    ``int` `i, j, k, n, x;``    ``x = ``1``;` `    ``// for loop for``    ``// height of pyramid``    ``for` `(i = ``0``; i < p_height; i++)``    ``{` `        ``// for loop for spaces``        ``for` `(j = p_space; j > i; j--)``        ``{``            ``System.out.print(``" "``);``        ``}` `        ``// for loop for printing``        ``// left pyramid``        ``for` `(k = ``0``; k < min_stars; k++)``            ``System.out.print(``"*"``);` `        ``// for loop for``        ``// spaces in middle``        ``for` `(n = (p_height + p_height - ``2``);``             ``n >= x; n--)``                ``System.out.print(``" "``);` `        ``// for loop for printing``        ``// right pyramid``        ``for` `(k = ``0``; k < min_stars; k++)``                ``System.out.print(``"*"``);` `        ``min_stars = min_stars + ``2``;``        ``x = x + ``2``;``            ``System.out.println();``    ``}``}` `// Driver code``public` `static` `void` `main (String[] args)``{` `/* change value to set minimum``number of stars in pyramid */``int` `min_stars = ``1``;` `/* change value to increase or``decrease size of pyramid */``int` `p_height = ``5``;` `// function calling``pattern(min_stars, p_height);``}``}` `// This code is contributed``// by ajit`

## Python3

 `# Python3 implementation to print the pattern` `# Function definition``def` `pattern(min_stars, p_height):` `    ``p_space ``=` `p_height ``-` `1``    ``x ``=` `1` `    ``# for loop for height of pyramid``    ``for` `i ``in` `range``(``0` `,p_height) :` `        ``# for loop for spaces``        ``for` `j ``in` `range``(p_space,i ,``-``1``) :``            ``print``(``" "` `,end``=``"")``        `  `        ``# for loop for printing``        ``# left pyramid``        ``for` `k ``in` `range``(``0` `,min_stars) :``            ``print``(``"*"` `,end``=``"")` `        ``# for loop for spaces in middle``        ``for` `n ``in` `range` `((p_height ``+` `p_height ``-` `2``), x``-``1``,``-``1``) :``            ``print``(``" "` `,end``=``"")` `        ``# for loop for printing``        ``# right pyramid``        ``for` `k ``in` `range``(``0` `,min_stars) :``            ``print``(``"*"` `,end``=``"")` `        ``min_stars ``=` `min_stars ``+` `2``        ``x ``=` `x ``+` `2``        ``print``("")` `# Driver code``# change value to set minimum``# number of stars in pyramid``if` `__name__``=``=``'__main__'``:``    ``min_stars ``=` `1` `# change value to increase or``# decrease size of pyramid``    ``p_height ``=` `5` `# function calling``    ``pattern(min_stars, p_height)` `# this code is contributed by Smitha Dinesh Semwal`

## C#

 `// C# implementation``// to print the pattern``using` `System;` `class` `GFG``{``    ` `// Function definition``static` `void` `pattern(``int` `min_stars,``                    ``int` `p_height)``{``    ``int` `p_space;``    ``p_space = p_height - 1;``    ``int` `i, j, k, n, x;``    ``x = 1;` `    ``// for loop for``    ``// height of pyramid``    ``for` `(i = 0; i < p_height; i++)``    ``{` `        ``// for loop for spaces``        ``for` `(j = p_space; j > i; j--)``        ``{``            ``Console.Write(``" "``);``        ``}` `        ``// for loop for printing``        ``// left pyramid``        ``for` `(k = 0; k < min_stars; k++)``            ``Console.Write(``"*"``);` `        ``// for loop for``        ``// spaces in middle``        ``for` `(n = (p_height +``                  ``p_height - 2);``             ``n >= x; n--)``                ``Console.Write(``" "``);` `        ``// for loop for printing``        ``// right pyramid``        ``for` `(k = 0; k < min_stars; k++)``                ``Console.Write(``"*"``);` `        ``min_stars = min_stars + 2;``        ``x = x + 2;``            ``Console.WriteLine();``    ``}``}` `// Driver code``static` `public` `void` `Main ()``{``        ` `    ``/* change value to set``    ``minimum number of stars``    ``in pyramid */``    ``int` `min_stars = 1;` `    ``/* change value to increase``    ``or decrease size of pyramid */``    ``int` `p_height = 5;` `    ``// function calling``    ``pattern(min_stars, p_height);``}``}` `// This code is contributed``// by ajit`

## PHP

 ` ``\$i``; ``\$j``--)``        ``{``            ``echo` `" "``;``        ``}` `        ``// for loop for printing``        ``// left pyramid``        ``for` `(``\$k` `= 0;``             ``\$k` `< ``\$min_stars``; ``\$k``++)``            ``echo` `"*"``;` `        ``// for loop for``        ``// spaces in middle``        ``for` `(``\$n` `= (``\$p_height` `+``                   ``\$p_height` `- 2);``            ``\$n` `>= ``\$x``; ``\$n``--)``            ``echo` `" "``;` `        ``// for loop for printing``        ``// right pyramid``        ``for` `(``\$k` `= 0;``             ``\$k` `< ``\$min_stars``; ``\$k``++)``            ``echo` `"*"``;` `        ``\$min_stars` `= ``\$min_stars` `+ 2;``        ``\$x` `= ``\$x` `+ 2;``        ``echo` `"\n"``;``    ``}``}` `// Driver code` `/* change value to set minimum``number of stars in pyramid */``\$min_stars` `= 1;` `/* change value to increase or``decrease size of pyramid */``\$p_height` `= 5;` `// function calling``pattern(``\$min_stars``, ``\$p_height``);` `// This code is contributed by ajit``?>`

## Javascript

 ``
Output:
```    *        *
***      ***
*****    *****
*******  *******
******************```

My Personal Notes arrow_drop_up