Example:
Input N: 5
Output:
Required knowledge
Basic C programming, LoopLogic to print the given number pattern 1
To understand the logic of given pattern I recommend you to have a careful look of the pattern for a minute. Now talking about the pattern, there are N number of rows (where N is the total number of rows to be printed). Each row contains exactly N - i + 1 number of columns (where i is the current row number). And for each row in each column the value of j gets printed (where j is the current column number).The step-by-step descriptive logic of the given pattern:
- To iterate through rows, start an outer loop from 1 to N.
- To print the numbers, start an inner loop from 1 to N - i + 1. Inside this loop print the value of j.
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=1; i<=N; i++) { //Logic to print numbers for(j=1; j<=N-i+1; j++) { printf("%d", j); } printf("\n"); } return 0; }
Output
Enter N: 5
12345
1234
123
12
1
12345
1234
123
12
1
Screenshot 1
Logic to print the given number pattern 2
Once you got the logic of first number pattern that we just printed, you can easily get the logic of this pattern. As it is almost similar to the first number pattern expect that it contains trailing spaces. Hence we only need to add the logic of printing trailing spaces to the first number pattern program.To get the logic of this pattern just hover your mouse on the above pattern to see or count total spaces per row. There are total i - 1 spaces per row (where i is the current row number).
The step-by-step descriptive logic to print space:
- To print space, 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=1; i<=N; i++) { //Logic to print spaces for(j=1; j<i; j++) { printf(" "); } //Logic to print numbers for(j=1; j<=N-i+1; j++) { printf("%d", j); } printf("\n"); } return 0; }
Screenshot 2
Happy coding ;)