Print the pattern by using one loop | Set 2 (Using Continue Statement)
Last Updated :
16 Feb, 2023
Given a number n, print triangular pattern. We are allowed to use only one loop.
Example:
Input: 7
Output:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
We use single for-loop and in the loop we maintain two variables for line count and current star count. If current star count is less than current line count, we print a star and continue. Else we print a new line and increment line count.
C++
#include<bits/stdc++.h>
using namespace std;
void printPattern( int n)
{
int line_no = 1;
int curr_star = 0;
for ( int line_no = 1; line_no <= n; )
{
if (curr_star < line_no)
{
cout << "* " ;
curr_star++;
continue ;
}
if (curr_star == line_no)
{
cout << "\n" ;
line_no++;
curr_star = 0;
}
}
}
int main()
{
printPattern(7);
return 0;
}
|
Java
import java.io.*;
class GFG {
static void printPattern( int n)
{
int line_no = 1 ;
int curr_star = 0 ;
for ( line_no = 1 ; line_no <= n;)
{
if (curr_star < line_no)
{
System.out.print ( "* " );
curr_star++;
continue ;
}
if (curr_star == line_no)
{
System.out.println ( "" );
line_no++;
curr_star = 0 ;
}
}
}
public static void main (String[] args)
{
printPattern( 7 );
}
}
|
Python 3
def printPattern(n):
line_no = 1
curr_star = 0
line_no = 1
while (line_no < = n ):
if (curr_star < line_no):
print ( "* " , end = "")
curr_star + = 1
continue
if (curr_star = = line_no):
print ("")
line_no + = 1
curr_star = 0
printPattern( 7 )
|
C#
using System;
class GFG {
static void printPattern( int n)
{
int line_no = 1;
int curr_star = 0;
for ( line_no = 1; line_no <= n;)
{
if (curr_star < line_no)
{
Console.Write ( "* " );
curr_star++;
continue ;
}
if (curr_star == line_no)
{
Console.WriteLine ();
line_no++;
curr_star = 0;
}
}
}
public static void Main ()
{
printPattern(7);
}
}
|
PHP
<?php
function printPattern( $n )
{
$line_no = 1;
$curr_star = 0;
for ( $line_no = 1; $line_no <= $n 😉
{
if ( $curr_star < $line_no )
{
echo "* " ;
$curr_star ++;
continue ;
}
if ( $curr_star == $line_no )
{
echo "\n" ;
$line_no ++;
$curr_star = 0;
}
}
}
$n =7;
printPattern( $n );
?>
|
Javascript
<script>
function printPattern(n)
{
var line_no = 1;
var curr_star = 0;
for ( var line_no = 1; line_no <= n; )
{
if (curr_star < line_no)
{
document.write( "* " );
curr_star++;
continue ;
}
if (curr_star == line_no)
{
document.write( "<br>" );
line_no++;
curr_star = 0;
}
}
}
printPattern(7);
</script>
|
Output:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
Time Complexity: O(n2)
Auxiliary Space: O(1)
Please refer below post for one more approach.
Print pattern using only one loop
Share your thoughts in the comments
Please Login to comment...