Related Articles
Programs for printing pyramid patterns using recursion
• Last Updated : 02 Jun, 2021

• Simple triangle pattern:

C++

 `// C++ code to demonstrate star pattern``#include ``using` `namespace` `std;` `// function to print a row``void` `printn(``int` `num)``{``    ``// base case``    ``if` `(num == 0)``        ``return``;``    ``cout << ``"* "``;` `    ``// recursively calling printn()``    ``printn(num - 1);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `i)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``printn(i);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, i + 1);``}` `// driver function``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, 1);``    ``return` `0;``}`

Java

 `// Java code to demonstrate star pattern``import` `java.io.*;` `class` `GFG``{``    ` `// function to print a row``static` `void` `printn(``int` `num)``{``    ``// base case``    ``if` `(num == ``0``)``        ``return``;``    ``System.out.print (``"* "``);` `    ``// recursively calling printn()``    ``printn(num - ``1``);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `i)``{``    ``// base case``    ``if` `(n == ``0``)``        ``return``;``    ``printn(i);``    ``System.out.println();` `    ``// recursively calling pattern()``    ``pattern(n - ``1``, i + ``1``);``}` `// Driver code``public` `static` `void` `main (String[] args)``{` `    ``int` `n = ``5``;``    ``pattern(n, ``1``);``}``}` `// This code is contributed by ajit.`

Python3

 `# Python3 code to demonstrate star pattern` `# function to print a row``def` `printn(num):``    ` `    ``# base case``    ``if` `(num ``=``=` `0``):``        ``return``    ``print``(``"*"``, end ``=` `" "``)` `    ``# recursively calling printn()``    ``printn(num ``-` `1``)` `# function to print the pattern``def` `pattern(n, i):``    ` `    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``    ``printn(i)``    ``print``(``"\n"``, end ``=` `"")``    ` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, i ``+` `1``)` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `5``    ``pattern(n, ``1``)` `# This code is contributed by``# Surendra_Gangwar`

C#

 `// C# code to demonstrate star pattern``using` `System;` `class` `GFG``{``        ` `// function to print a row``static` `void` `printn(``int` `num)``{``    ``// base case``    ``if` `(num == 0)``        ``return``;``    ``Console.Write(``"* "``);` `    ``// recursively calling printn()``    ``printn(num - 1);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `i)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``printn(i);``    ``Console.WriteLine();` `    ``// recursively calling pattern()``    ``pattern(n - 1, i + 1);``}` `// Driver code``static` `public` `void` `Main ()``{``    ``int` `n = 5;``    ``pattern(n, 1);``}``}` `// This code is contributed by akt_mit.`

PHP

 ``

Javascript

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

• After 180-degree rotation:

C++

 `// C++ code to demonstrate star pattern` `#include ``using` `namespace` `std;` `// function to print spaces``void` `print_space(``int` `space)``{``    ``// base case``    ``if` `(space == 0)``        ``return``;``    ``cout << ``" "``         ``<< ``" "``;` `    ``// recursively calling print_space()``    ``print_space(space - 1);``}` `// function to print asterisks``void` `print_asterisk(``int` `asterisk)``{``    ``// base case``    ``if` `(asterisk == 0)``        ``return``;``    ``cout << ``"* "``;` `    ``// recursively calling print_asterisk()``    ``print_asterisk(asterisk - 1);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_space(n - 1);``    ``print_asterisk(num - n + 1);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}` `// driver function``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, n);``    ``return` `0;``}`

Java

 `// Java code to demonstrate star pattern``import` `java.util.*;` `class` `GFG``{` `    ``// function to print spaces``    ``static` `void` `print_space(``int` `space)``    ``{``        ``// base case``        ``if` `(space == ``0``)``        ``{``            ``return``;``        ``}``        ``System.out.print(``" "` `+ ``" "``);` `        ``// recursively calling print_space()``        ``print_space(space - ``1``);``    ``}` `    ``// function to print asterisks``    ``static` `void` `print_asterisk(``int` `asterisk)``    ``{``        ``// base case``        ``if` `(asterisk == ``0``)``        ``{``            ``return``;``        ``}``        ``System.out.print(``"* "``);` `        ``// recursively calling print_asterisk()``        ``print_asterisk(asterisk - ``1``);``    ``}` `    ``// function to print the pattern``    ``static` `void` `pattern(``int` `n, ``int` `num)``    ``{``        ``// base case``        ``if` `(n == ``0``)``        ``{``            ``return``;``        ``}``        ``print_space(n - ``1``);``        ``print_asterisk(num - n + ``1``);``        ``System.out.println();` `        ``// recursively calling pattern()``        ``pattern(n - ``1``, num);``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `n = ``5``;``        ``pattern(n, n);``    ``}``}` `// This code is contributed by Rajput-Ji`

Python3

 `# Python3 code to demonstrate star pattern` `# function to prspaces``def` `print_space(space):``    ` `    ``# base case``    ``if` `(space ``=``=` `0``):``        ``return``;``    ` `    ``print``(``" "``, end``=``" "``);` `    ``# recursively calling print_space()``    ``print_space(space ``-` `1``);` `# function to prasterisks``def` `print_asterisk(asterisk):``    ` `    ``# base case``    ``if` `(asterisk ``=``=` `0``):``        ``return``;``    ` `    ``print``(``"*"``, end ``=``" "``);` `    ``# recursively calling print_asterisk()``    ``print_asterisk(asterisk ``-` `1``);` `# function to print the pattern``def` `pattern(n, num):``    ` `    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``;``    ` `    ``print_space(n ``-` `1``);``    ``print_asterisk(num ``-` `n ``+` `1``);``    ``print``();` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, num);` `# Driver code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `5``;``    ``pattern(n, n);``    ` `# This code is contributed by 29AjayKumar`

C#

 `// C# code to demonstrate star pattern``using` `System;` `class` `GFG``{``    ` `// function to print spaces``static` `void` `print_space(``int` `space)``{``    ``// base case``    ``if` `(space == 0)``        ``return``;``    ``Console.Write(``" "` `+ ``" "``);` `    ``// recursively calling print_space()``    ``print_space(space - 1);``}` `// function to print asterisks``static` `void` `print_asterisk(``int` `asterisk)``{``    ``// base case``    ``if` `(asterisk == 0)``        ``return``;``    ``Console.Write(``"* "``);` `    ``// recursively calling print_asterisk()``    ``print_asterisk(asterisk - 1);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_space(n - 1);``    ``print_asterisk(num - n + 1);``    ``Console.WriteLine();` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}` `// Driver code``public` `static` `void` `Main()``{``    ``int` `n = 5;``    ``pattern(n, n);``}``}` `// This code is contributed by Akanksha Rai`

PHP

 ``

Javascript

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

• Printing Pyramid:

C++

 `// C++ code to demonstrate star pattern` `#include ``using` `namespace` `std;` `// function to print spaces``void` `print_space(``int` `space)``{``    ``// base case``    ``if` `(space == 0)``        ``return``;``    ``cout << ``" "``;` `    ``// recursively calling print_space()``    ``print_space(space - 1);``}` `// function to print asterisks``void` `print_asterisk(``int` `asterisk)``{``    ``// base case``    ``if` `(asterisk == 0)``        ``return``;``    ``cout << ``"* "``;` `    ``// recursively calling asterisk()``    ``print_asterisk(asterisk - 1);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_space(n - 1);``    ``print_asterisk(num - n + 1);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}` `// driver function``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, n);``    ``return` `0;``}`

Java

 `// Java code to demonstrate star pattern``import` `java.util.*;` `class` `GFG``{` `// function to print spaces``static` `void` `print_space(``int` `space)``{``    ``// base case``    ``if` `(space == ``0``)``        ``return``;``    ``System.out.print(``" "``);` `    ``// recursively calling print_space()``    ``print_space(space - ``1``);``}` `// function to print asterisks``static` `void` `print_asterisk(``int` `asterisk)``{``    ``// base case``    ``if` `(asterisk == ``0``)``        ``return``;``    ``System.out.print(``"* "``);` `    ``// recursively calling asterisk()``    ``print_asterisk(asterisk - ``1``);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == ``0``)``        ``return``;``    ``print_space(n - ``1``);``    ``print_asterisk(num - n + ``1``);``    ``System.out.println(``""``);` `    ``// recursively calling pattern()``    ``pattern(n - ``1``, num);``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``pattern(n, n);``}``}` `// This code is contributed by 29AjayKumar`

Python3

 `# Python3 code to demonstrate star pattern` `# function to print spaces``def` `print_space(space):``    ` `    ``# base case``    ``if` `(space ``=``=` `0``):``        ``return``;``    ``print``(``" "``, end ``=` `"");` `    ``# recursively calling print_space()``    ``print_space(space ``-` `1``);` `# function to print asterisks``def` `print_asterisk(asterisk):``    ` `    ``# base case``    ``if``(asterisk ``=``=` `0``):``        ``return``;``    ``print``(``"* "``, end ``=` `"");` `    ``# recursively calling asterisk()``    ``print_asterisk(asterisk ``-` `1``);` `# function to print the pattern``def` `pattern(n, num):``    ` `    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``;``    ``print_space(n ``-` `1``);``    ``print_asterisk(num ``-` `n ``+` `1``);``    ``print``("");` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, num);` `# Driver Code``n ``=` `5``;``pattern(n, n);` `# This code contributed by PrinciRaj1992`

C#

 `// C# code to demonstrate star pattern``using` `System;` `class` `GFG``{` `// function to print spaces``static` `void` `print_space(``int` `space)``{``    ``// base case``    ``if` `(space == 0)``        ``return``;``    ``Console.Write(``" "``);` `    ``// recursively calling print_space()``    ``print_space(space - 1);``}` `// function to print asterisks``static` `void` `print_asterisk(``int` `asterisk)``{``    ``// base case``    ``if` `(asterisk == 0)``        ``return``;``    ``Console.Write(``"* "``);` `    ``// recursively calling asterisk()``    ``print_asterisk(asterisk - 1);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_space(n - 1);``    ``print_asterisk(num - n + 1);``    ``Console.WriteLine(``""``);` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``pattern(n, n);``}``}` `// This code is contributed by 29AjayKumar`

PHP

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

• Number Pattern

C++

 `// C++ code to demonstrate printing pattern of numbers` `#include ``using` `namespace` `std;` `// function to print a row``void` `print_row(``int` `no, ``int` `val)``{``    ``// base case``    ``if` `(no == 0)``        ``return``;``    ``cout << val << ``" "``;` `    ``// recursively calling print_row()``    ``print_row(no - 1, val);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_row(num - n + 1, num - n + 1);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, n);``}`

Java

 `// Java code to demonstrate printing``// pattern of numbers``class` `GFG``{``    ` `// function to print a row``static` `void` `print_row(``int` `no, ``int` `val)``{``    ``// base case``    ``if` `(no == ``0``)``        ``return``;``    ``System.out.print(val + ``" "``);` `    ``// recursively calling print_row()``    ``print_row(no - ``1``, val);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == ``0``)``        ``return``;``    ``print_row(num - n + ``1``, num - n + ``1``);``    ``System.out.println();` `    ``// recursively calling pattern()``    ``pattern(n - ``1``, num);``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``pattern(n, n);``}``}` `// This code is contributed by Code_Mech.`

Python3

 `# Python3 code to demonstrate printing``# pattern of numbers` `# function to print a row``def` `print_row(no, val):``    ` `    ``# base case``    ``if` `(no ``=``=` `0``):``        ``return``;``    ``print``(val , end``=``" "``);` `    ``# recursively calling print_row()``    ``print_row(no ``-` `1``, val);` `# function to print the pattern``def` `pattern(n, num):``    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``;``    ``print_row(num ``-` `n ``+` `1``, num ``-` `n ``+` `1``);``    ``print``("");` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, num);` `# Driver Code``n ``=` `5``;``pattern(n, n);` `# This code contributed by PrinciRaj1992`

C#

 `// C# code to demonstrate printing``// pattern of numbers``using` `System;` `class` `GFG``{``    ` `// function to print a row``static` `void` `print_row(``int` `no, ``int` `val)``{``    ``// base case``    ``if` `(no == 0)``        ``return``;``    ``Console.Write(val + ``" "``);` `    ``// recursively calling print_row()``    ``print_row(no - 1, val);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_row(num - n + 1, num - n + 1);``    ``Console.WriteLine();` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `n = 5;``    ``pattern(n, n);``}``}` `// This code is contributed by Akanksha Rai`

PHP

 ``

Javascript

 ``
Output:

```1
2 2
3 3 3
4 4 4 4
5 5 5 5 5```

• Numbers without reassigning:

C++

 `// C++ code to demonstrate printing pattern of numbers` `#include ``using` `namespace` `std;` `// function to print a row``int` `print_row(``int` `ct, ``int` `num)``{``    ``// base case``    ``if` `(num == 0)``        ``return` `ct;``    ``cout << ct << ``"\t"``;` `    ``// recursively calling print_row()``    ``print_row(ct + 1, num - 1);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `count, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``count = print_row(count, num);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, count, num + 1);``}` `// driver function``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, 1, 1);``}`

Java

 `// Java code to demonstrate``// printing pattern of numbers``import` `java.io.*;` `class` `GFG``{``    ` `// function to print a row``static` `int` `print_row(``int` `ct, ``int` `num)``{``    ``// base case``    ``if` `(num == ``0``)``        ``return` `ct;``            ``System.out.print(ct + ``"  "``);` `    ``// recursively calling print_row()``    ``return` `print_row(ct + ``1``, num - ``1``);``}` `// function to print the pattern``static` `void` `pattern(``int` `n,``                    ``int` `count, ``int` `num)``{``    ``// base case``    ``if` `(n == ``0``)``        ``return``;``    ``count = print_row(count, num);``            ``System.out.println();` `    ``// recursively calling pattern()``    ``pattern(n - ``1``, count, num + ``1``);``}` `// Driver Code``public` `static` `void` `main (String[] args)``{``    ``int` `n = ``5``;``    ``pattern(n, ``1``, ``1``);``}``}` `// This code is contributed by Tushil`

Python3

 `# Python3 code to demonstrate``# printing pattern of numbers` `# function to pra row``def` `print_row(ct, num):``    ` `    ``# base case``    ``if` `(num ``=``=` `0``):``        ``return` `ct;``    ``print``(ct, end ``=` `" "``);` `    ``# recursively calling print_row()``    ``return` `print_row(ct ``+` `1``, num ``-` `1``);` `# function to print the pattern``def` `pattern(n, count, num):``    ` `    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``;``    ``count ``=` `print_row(count, num);``    ``print``();` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, count, num ``+` `1``);` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `5``;``    ``pattern(n, ``1``, ``1``);` `# This code is contributed by 29AjayKumar`

C#

 `// C# code to demonstrate``// printing pattern of numbers``using` `System;` `class` `GFG``{` `// function to print a row``static` `int` `print_row(``int` `ct, ``int` `num)``{``    ``// base case``    ``if` `(num == 0)``        ``return` `ct;``    ``Console.Write (ct + ``"  "``);` `    ``// recursively calling print_row()``    ``return` `print_row(ct + 1, num - 1);``}` `// function to print the pattern``static` `void` `pattern(``int` `n,``                    ``int` `count, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``count = print_row(count, num);``    ``Console.WriteLine();` `    ``// recursively calling pattern()``    ``pattern(n - 1, count, num + 1);``}` `// Driver Code``static` `public` `void` `Main ()``{``    ``int` `n = 5;``    ``pattern(n, 1, 1);``}``}` `// This code is contributed by ajit`

Javascript

 ``
Output:
```1
2    3
4    5    6
7    8    9    10
11    12    13    14    15```

• Character Pattern:

C++

 `// C++ code to demonstrate printing pattern of alphabets` `#include ``using` `namespace` `std;` `// function to print a row``void` `print_row(``int` `no, ``int` `val)``{``    ``// base case``    ``if` `(no == 0)``        ``return``;``    ``cout << (``char``)(val + 64) << ``" "``;` `    ``// recursively calling print_row()``    ``print_row(no - 1, val);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_row(num - n + 1, num - n + 1);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, n);``}`

Java

 `// Java code to demonstrate printing pattern of alphabets``class` `GFG``{` `// function to print a row``static` `void` `print_row(``int` `no, ``int` `val)``{``    ``// base case``    ``if` `(no == ``0``)``        ``return``;``    ``System.out.print((``char``)(val + ``64``) + ``" "``);` `    ``// recursively calling print_row()``    ``print_row(no - ``1``, val);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == ``0``)``        ``return``;``    ``print_row(num - n + ``1``, num - n + ``1``);``    ``System.out.println();` `    ``// recursively calling pattern()``    ``pattern(n - ``1``, num);``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``pattern(n, n);``}``}` `// This code is contributed by Rajput-Ji`

Python3

 `# Python3 code to demonstrate printing pattern of alphabets`  `# function to pra row``def` `print_row(no, val):``    ``# base case``    ``if` `(no ``=``=` `0``):``        ``return``;``    ``print``(``chr``(val ``+` `64``), end``=``" "``);` `    ``# recursively calling print_row()``    ``print_row(no ``-` `1``, val);`  `# function to print the pattern``def` `pattern(n, num):``    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``;``    ``print_row(num ``-` `n ``+` `1``, num ``-` `n ``+` `1``);``    ``print``();` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, num);`  `# Driver code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `5``;``    ``pattern(n, n);` `# This code is contributed by 29AjayKumar`

C#

 `// C# code to demonstrate printing pattern of alphabets``using` `System;` `class` `GFG``{` `// function to print a row``static` `void` `print_row(``int` `no, ``int` `val)``{``    ``// base case``    ``if` `(no == 0)``        ``return``;``    ``Console.Write((``char``)(val + 64) + ``" "``);` `    ``// recursively calling print_row()``    ``print_row(no - 1, val);``}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``print_row(num - n + 1, num - n + 1);``    ``Console.WriteLine();` `    ``// recursively calling pattern()``    ``pattern(n - 1, num);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``pattern(n, n);``}``}` `// This code is contributed by 29AjayKumar`

Javascript

 ``
Output:
```A
B B
C C C
D D D D
E E E E E```

• Continuous Character pattern:

C++

 `#include ``using` `namespace` `std;` `// function to print a row``int` `print_row(``int` `ct, ``int` `num)``{``    ``// base case``    ``if` `(num == 0)``        ``return` `ct;``    ``cout << (``char``)(ct + 64) << ``" "``;` `    ``// recursively calling print_row()``    ``print_row(ct + 1, num - 1);``}` `// function to print the pattern``void` `pattern(``int` `n, ``int` `count, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``count = print_row(count, num);``    ``cout << endl;` `    ``// recursively calling pattern()``    ``pattern(n - 1, count, num + 1);``}` `// driver function``int` `main()``{``    ``int` `n = 5;``    ``pattern(n, 1, 1);``}`

Java

 `class` `GFG``{` `// function to print a row``static` `int` `print_row(``int` `ct, ``int` `num)``{``    ``// base case``    ``if` `(num == ``0``)``        ``return` `ct;``    ``System.out.print((``char``)(ct + ``64``) + ``" "``);` `    ``// recursively calling print_row()``    ``print_row(ct + ``1``, num - ``1``);``    ``return` `num + ct;``    ` `}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `count, ``int` `num)``{``    ``// base case``    ``if` `(n == ``0``)``        ``return``;``    ``count = print_row(count, num);``    ``System.out.println();` `    ``// recursively calling pattern()``    ``pattern(n - ``1``, count, num + ``1``);``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``pattern(n, ``1``, ``1``);``}``}` `// This code is contributed by 29AjayKumar`

Python3

 `# function to print row``def` `print_row(ct, num):``    ` `    ``# base case``    ``if` `(num ``=``=` `0``):``        ``return` `ct;``    ``print``(``chr``(ct ``+` `64``), end``=``" "``);` `    ``# recursively calling print_row()``    ``print_row(ct ``+` `1``, num ``-` `1``);``    ``return` `num ``+` `ct;` `# function to print the pattern``def` `pattern(n, count, num):` `    ``# base case``    ``if` `(n ``=``=` `0``):``        ``return``;``    ``count ``=` `print_row(count, num);``    ``print``();` `    ``# recursively calling pattern()``    ``pattern(n ``-` `1``, count, num ``+` `1``);` `# Driver code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `5``;``    ``pattern(n, ``1``, ``1``);` `# This code is contributed by Rajput-Ji`

C#

 `using` `System;` `class` `GFG``{` `// function to print a row``static` `int` `print_row(``int` `ct, ``int` `num)``{``    ``// base case``    ``if` `(num == 0)``        ``return` `ct;``    ``Console.Write((``char``)(ct + 64) + ``" "``);` `    ``// recursively calling print_row()``    ``print_row(ct + 1, num - 1);``    ``return` `num + ct;` `}` `// function to print the pattern``static` `void` `pattern(``int` `n, ``int` `count, ``int` `num)``{``    ``// base case``    ``if` `(n == 0)``        ``return``;``    ``count = print_row(count, num);``    ``Console.WriteLine();` `    ``// recursively calling pattern()``    ``pattern(n - 1, count, num + 1);``}` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``pattern(n, 1, 1);``}``}` `// This code is contributed by 29AjayKumar`

Javascript

 ``
Output:
```A
B C
D E F
G H I J
K L M N O```

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live

My Personal Notes arrow_drop_up