Last Updated : 23 Jul, 2025
Print simple patterns like below using single line of code under loop.
Examples:
Input : 5
Output :
*
**
***
****
*****
Input : 6
Output :
*
**
***
****
*****
******
setw(n) Creates n columns and fills these n columns from right. We fill i of them with a given character, here we create a string with i asterisks using string constructor. setfill() Used to set fill character in a stream. Here we use it to fill remaining n-i-1 places with space (or ' ') in n columns.
CPP
// CPP program to print a pattern using only
// one loop. <iomanip> is header file for stfill()
// and setw()
#include<iostream>
#include<iomanip>
using namespace std;
void generatePattern(int n)
{
// Iterate for n lines
for (int i=1 ; i<=n ; i++)
cout << setfill(' ') << setw(n)
<< string(i, '*') << endl;
// Remove multi-line commenting characters below
// to get PATTERN WITH CHARACTERS IN LEFT AND
// SPACE IN RIGHT
/* for (int i=1 ; i<=n ; i++)
cout << left << setfill(' ')
<< setw(n) << string(i,'*') << endl; */
}
// Driver code
int main()
{
int n = 6;
generatePattern(n);
return 0;
}
Java
public class PatternPrinting {
// Function to generate and print the pattern
public static void generatePattern(int n) {
for (int i = 1; i <= n; i++) {
// Use printf to format the output with spaces on the left
// and asterisks on the right, to create the pattern.
System.out.printf("%" + n + "s%n", "*".repeat(i));
}
}
public static void main(String[] args) {
int n = 6; // Define the number of lines in the pattern
generatePattern(n); // Call the pattern generation function
}
}
Python3
#Python equivalent
#include <iostream> is replaced by print() function
#include <iomanip> is replaced by string.ljust()
def generatePattern(n):
# Iterate for n lines
for i in range(1, n+1):
print(str('*'*i).rjust(n))
# Remove multi-line commenting characters below
# to get PATTERN WITH CHARACTERS IN LEFT AND
# SPACE IN RIGHT
'''for i in range(1, n+1):
print(str('*'*i).ljust(n))'''
# Driver code
if __name__ == '__main__':
n = 6
generatePattern(n)
C#
// C# program to print a pattern using only
// one loop. System namespace is used for Console
// class.
using System;
public class GFG {
public static void GeneratePattern(int n)
{
// Iterate for n lines
for (int i = 1; i <= n; i++)
Console.WriteLine("{0," + n + "}", new String('*', i));
// Remove multi-line commenting characters below
// to get PATTERN WITH CHARACTERS IN LEFT AND
// SPACE IN RIGHT
/* for (int i=1 ; i<=n ; i++)
Console.WriteLine("{0,-" + n + "}", new String('*', i)); */
}
// Driver code
public static void Main()
{
int n = 6;
GeneratePattern(n);
}
}
JavaScript
// JS program to print a pattern using only
// one loop.
function generatePattern(n)
{
// Iterate for n lines
for (let i = 1; i <= n; i++) {
console.log("*".repeat(i).padStart(n));
}
// Remove multi-line commenting characters below
// to get PATTERN WITH CHARACTERS IN LEFT AND
// SPACE IN RIGHT
/*
for (let i = 1; i <= n; i++) {
console.log("*".repeat(i).padEnd(n));
}
*/
}
// Driver code
const n = 6;
generatePattern(n);
// This code is contributed by akashish__
Output:
*
**
***
****
*****
******
Time complexity: O(n2) for given input n
Auxiliary space: O(1)
Please refer below post for one more approach. Print pattern using only one loop | Set 2 (Using Continue) This article is contributed by Sakshi Tiwari. If you like GeeksforGeeks( We know you do! ) and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4