Program to print numeric pattern
Last Updated :
13 Mar, 2023
Given the value of n i.e, the number of rows, print the following pattern.
Examples :
Input : n = 4
Output :
1
5 2
8 6 3
10 9 7 4
Input : n = 6
Output :
1
7 2
12 8 3
16 13 9 4
19 17 14 10 5
21 20 18 15 11 6
Approach: The approach is to start printing the pattern from the end of each row. After the completion of the last column of each row, start from the second last column of the second row and so on. Below given is the implementation of this approach :
C++
#include <bits/stdc++.h>
using namespace std;
void pattern( int n)
{
int p, k = 1;
for ( int i = 1; i <= n; i++) {
p = k;
for ( int j = 1; j <= i; j++) {
cout << p << " " ;
p = p - (n + j - i);
}
cout << endl;
k = k + 1 + n - i;
}
}
int main()
{
int n = 5;
pattern(n);
return 0;
}
|
Java
import java.util.*;
class GfG {
static void pattern( int n)
{
int p, k = 1 ;
for ( int i = 1 ; i <= n; i++) {
p = k;
for ( int j = 1 ; j <= i; j++) {
System.out.print(p);
System.out.print( " " );
p = p - (n + j - i);
}
System.out.println();
k = k + 1 + n - i;
}
}
public static void main(String[] args)
{
int n = 5 ;
pattern(n);
}
}
|
Python 3
def pattern(n):
k = 1
for i in range ( 1 , n + 1 ):
p = k
for j in range ( 1 , i + 1 ):
print (p , end = " " )
p = p - (n + j - i)
print ("")
k = k + 1 + n - i
n = 5
pattern(n)
|
C#
using System;
class GfG {
static void pattern( int n)
{
int p, k = 1;
for ( int i = 1; i <= n; i++) {
p = k;
for ( int j = 1; j <= i; j++) {
Console.Write(p);
Console.Write( " " );
p = p - (n + j - i);
}
Console.WriteLine();
k = k + 1 + n - i;
}
}
public static void Main()
{
int n = 5;
pattern(n);
}
}
|
PHP
<?php
function pattern( $n )
{
$p ;
$k = 1;
for ( $i = 1; $i <= $n ; $i ++)
{
$p = $k ;
for ( $j = 1; $j <= $i ; $j ++)
{
echo $p ;
echo " " ;
$p = $p - ( $n + $j - $i );
}
echo "\n" ;
$k = $k + 1 + $n - $i ;
}
}
$n = 5;
pattern( $n );
?>
|
Javascript
<script>
function pattern(n) {
var p, k = 1;
for ( var i = 1; i <= n; i++) {
p = k;
for ( var j = 1; j <= i; j++) {
document.write(p + " " );
p = p - (n + j - i);
}
document.write( "<br>" );
k = k + 1 + n - i;
}
}
var n = 5;
pattern(n);
</script>
|
Output
1
6 2
10 7 3
13 11 8 4
15 14 12 9 5
Time Complexity: O(n2)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...