Header Ad

HackerRank Printing Pattern using loops in c solution

In this HackerRank Printing Patterns using loops in c problem solution Print a pattern of numbers from 1 to n as shown below. Each of the numbers is separated by a single space.

    4 4 4 4 4 4 4  

    4 3 3 3 3 3 4   

    4 3 2 2 2 3 4   

    4 3 2 1 2 3 4   

    4 3 2 2 2 3 4   

    4 3 3 3 3 3 4   

    4 4 4 4 4 4 4   

HackerRank Printing Pattern using loops in c solution


HackerRank printing pattern using loops problem solution in c programming.

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>

int main() 
{

    int n;
    scanf("%d", &n);
    int len = n*2 - 1;
    for(int i=0;i<len;i++){
        for(int j=0;j<len;j++){
            int min = i < j ? i : j;
            min = min < len-i ? min : len-i-1;
            min = min < len-j-1 ? min : len-j-1;
            printf("%d ", n-min);
        }
        printf("\n");
    }
    return 0;
}

Second solution

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>

int main() {

int n;
scanf("%d", &n);
int len = 2*n-1;
int min1,min2,min;
  // Complete the code to print the pattern.
  // for rows
  for (int i=1; i <=len; i++) {
      // for col
      for (int j=1; j<=len; j++) {
        // min diff btn vertical sides
        min1 = i<=len-i ? i -1 : len-i;
        // min diff btn horizontal sides
        min2 = j<=len-j ? j -1: len-j;
        // min diff btn vertical & horizontal sides
        min = min1<=min2 ? min1 : min2;
        // print  
        printf("%d ",n-min);
      }
      printf("\n");
  }
return 0;
}


Post a Comment

0 Comments