**Example:**

Input N: 5

### Required knowledge

Basic C programming, Loop### Logic to print the given number pattern 1

Before we discuss about logic of printing these patterns. I would recommend you to check out some similar number patterns. As both of the patterns mentioned in this program are just vertically flipped image ofNow, moving on to the logic of first pattern that we need to print. Have a careful eye on to the below pattern

Logic to print the above pattern:

- To iterate through rows, initialize an outer loop from N to 1 (where N is the total number of rows). Note that I have initialized the loop from N to 1 not from 1 to N as the pattern is in descending order hence it will help in the inner loop. As both 1-N or N-1 will iterate N times.
- To print numbers, initialize an inner loop from 1 to current_row_number (note that the current row number will be like n.., 4, 3...1 in decreasing order). Inside this loop print the value of current_row_number.

### Program to print the given number pattern 1

/** * C program to print number pattern */ #include <stdio.h> int main() { int i, j, N; printf("Enter N: "); scanf("%d", &N); for(i=N; i>=1; i--) { for(j=1; j<=i; j++) { printf("%d", i); } printf("\n"); } return 0; }

Output

Enter N: 5

55555

4444

333

22

1

55555

4444

333

22

1

### Logic to print the given number pattern 2

Now, once you got the logic of first number pattern you can easily get the logic of this pattern. As is it same as pattern 1 just we need to add trailing spaces before the number gets printed. If you point your mouse over the below pattern you can count the number of spaces per row and can easily get the logic in which spaces are printed in the pattern. Here the spaces are in ascending order i.e. row1 contains 0 spaces, row2 contains 1, row3 contains 2 and so on. Also each row contains current_row_number - 1 spaces. Logic to print spaces inside outer loop is:- To print spaces inside outer loop, run an inner loop from N to current_row_number. Inside this loop print spaces.

### Program to print the given number pattern 2

/** * C program to print number pattern */ #include <stdio.h> int main() { int i, j, N; printf("Enter N: "); scanf("%d", &N); for(i=N; i>=1; i--) { //Logic to print spaces for(j=N; j>i; j--) { printf(" "); } //Logic to print numbers for(j=1; j<=i; j++) { printf("%d", i); } printf("\n"); } return 0; }

### Screenshot 2

Happy coding ;)