**Example:**

Input N: 5

Output:

### Required knowledge

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

Before I get into details about the number pattern I recommend you to have a close eye to the pattern carefully for a minute. The above pattern contains N rows (where N is the total number of rows to be printed). As you can see that the pattern printing is in descending order hence to make things easier we will iterate through the outer loop in descending order. Each row contains exactly i number of columns (where i is the current row number).Step-by-step description to print the pattern:

- To iterate through rows, run an outer loop from N to 1. Note - Since the pattern is printed in descending order therefore we have initialized the loop from N and iterate till 1.
- To print the pattern, run an inner loop from N to i (where i is the current row number). Inside this loop print the value of j (where j is the current column 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--) { //Logic to print numbers for(j=N; j>=i; j--) { printf("%d", j); } printf("\n"); } return 0; }

Output

Enter N: 5

5

54

543

5432

54321

5

54

543

5432

54321

### Screenshot 1

### Logic to print the given number pattern 2

If you are done with first pattern, then logic to this wouldn't be much difficult to get. This pattern is almost similar to the first pattern we just printed, except trailing spaces before the number. Hence, logic to print the pattern will be same as the first pattern, we only need to add the logic of printing spaces. You can hover your mouse cursor to the pattern to see or count the number of space. The pattern consists of i - 1 spaces per row (where i is the current row number). Note that in the given pattern we have assumed that row numbers are ordered descending from N-1.Step-by-step descriptive logic to print spaces:

- To print spaces, run an inner loop from 1 to i - 1. Inside this loop print single blank space.

### 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=1; j<i; j++) { printf(" "); } //Logic to print numbers for(j=N; j>=i; j--) { printf("%d", j); } printf("\n"); } return 0; }

### Screenshot 2

Happy coding ;)