Example:
Input N: 5
Output:
Required knowledge
Basic C programming, LoopLogic to print the given number pattern 1
To get the logic of this pattern I recommend you to carefully have an eye to the pattern. There are N number of rows (where N is the total number of rows to be printed) and each row contains exactly i number of columns (where i is the current row number). Now for each column the value gets printed is N - i + 1.Step-by-step descriptive logic:
- To iterate through rows, run an outer loop from 1 to N.
- To print the columns, run an inner loop from 1 to i (where i is the current row number). Inside this loop print the value of N - i + 1.
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<=i; j++) { printf("%d", (N - i + 1)); } printf("\n"); } return 0; }
Output
Enter N: 5
5
44
333
2222
11111
5
44
333
2222
11111
Screenshot 1
Logic to print the given number pattern 2
Now once you are done with the first number pattern, doing this wouldn't be much trouble. As it only needs to add trialing spaces before the number gets printed. Now if you hover mouse to the pattern you can actually count the spaces per row and can define a logic to print spaces. Actually each row contains N - i spaces (where N is the total number of rows to be printed and i is the current row number). Hence, the descriptive logic of printing space is:- To print spaces, run an inner loop from 1 to N - i. 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<=N-i; j++) { printf(" "); } //Logic to print numbers for(j=1; j<=i; j++) { printf("%d", (N - i + 1)); } printf("\n"); } return 0; }
Screenshot 2
Happy coding ;)