**Example:**

Input N: 5

Output:

### Required knowledge

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

The above pattern consists of N rows (where N is the total rows to be printed). Now to iterate N times you can either go from 1-N or from N-1. Here in our case we will go from N-1 as the pattern printed is in decreasing order. Each row contains i columns (where i is the current row number). Note that the first row is row 5, second is 4 and so on last row is 1.Step-by-step descriptive logic:

- To iterate through rows, run an outer loop from N to 1 in decreasing order.
- Inside the outer loop initialize another variable say k = i (where k is used to keep the value which is to be printed next).
- To print columns, run an outer loop from 1 to i. Inside this loop print the value of k after that increment the value of k to get next value.

### Program to print the given number pattern 1

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

Output

Enter N: 5

56789

4567

345

23

1

56789

4567

345

23

1

### Screenshot 1

### Logic to print the given number pattern 2

The logic to print the above pattern is almost similar to the pattern we just printed. In this pattern we only need to add logic of printing spaces just before number gets printed. There are N - i spaces per row (where i is the current row number). If you want to see or count spaces, you can hover on to the pattern.Step-by-step descriptive logic:

- To print spaces, run an inner loop from i to N - 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, k, N; printf("Enter N: "); scanf("%d", &N); for(i=N; i>=1; i--) { k = i; //Logic to print spaces for(j=i; j<N; j++) { printf(" "); } //Logic to print numbers for(j=1; j<=i; j++, k++) { printf("%d", k); } printf("\n"); } return 0; }

### Screenshot 2

Happy coding ;)