**Example:**

Input N: 5

Output:

### Required knowledge

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

Before I discuss logic to print the given number pattern, I recommend you that have a close look to the pattern carefully for a couple of minutes. The above pattern consists of N rows (where N is the total number of rows to be printed). Each row contains i columns (where i is the current row number). To print the above pattern we will be using an extra variable say k that will keep the value which we need to print.Step-by-step descriptive logic:

- To iterate through rows, run an outer loop from 1 to N.
- Inside the outer loop initialize k = i (where k is an extra variable which will hold the number which we need to print next and i is the current row number).
- To print the numbers, run an inner loop from 1 to i. Inside this loop print the value of k. Also increment the value of k after printing.

### 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=1; i<=N; 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

1

23

345

4567

56789

1

23

345

4567

56789

### Screenshot 1

### Logic to print the given number pattern 2

If you look to the pattern you will notice that the pattern is similar to the pattern we just did except the trailing spaces. The logic to print the given pattern would be similar as the first pattern we just did. We only need to add the logic of printing spaces before the number gets printed. If you can notice, there are N - i spaces per row (where i is the current row number).Step-by-step description to print spaces:

- 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=1; i<=N; 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 ;)