Join Regular Classroom : Visit ClassroomTech

Coding Sample Questions | Part 6 | Codewindow.in

Problem Statement :

Identify the logic behind the series 6 28 66 120 190 276….. The numbers in the series should be used to create a Pyramid. The base of the Pyramid will be the widest and will start converging towards the top where there will only be one element. Each successive layer will have one number less than that on the layer below it. The width of the Pyramid is specified by an input parameter N. In other words there will be N numbers on the bottom layer of the pyramid.
The Pyramid construction rules are as follows

  1. First number in the series should be at the top of the Pyramid
  2. Last N number of the series should be on the bottommost layer of the Pyramid, with Nth number being the right-most number of this layer.
  3. Numbers less than 5-digits must be padded with zeroes to maintain the sanctity of a Pyramid when printed. Have a look at the examples below to get a pictorial understanding of what this rule actually means.

Example
If input is 2, output will be
00006
00028 00066
If input is 3, output will be
00006
00028 00066
00120 00190 00276

Input Format:
First line of input will contain number N that corresponds to the width of the bottom-most layer of the Pyramid

Output Format:
The Pyramid constructed out of numbers in the series as per stated construction rules

Constraints:
0<N<=14

Sample Input 1 :
2
Sample Output 1 :
00006
00028 00066

Solution:

C

//www.codewindow.in
//start
#include<stdio.h>
int main()
{
    int x=6,y=22,n,i,j,k=0;
    scanf("%d",&n);
    
    if(n>0 && n<=14)
    {
    for(i=1;i<=n;i++)
    {
        for(j=i;j<n;j++)
        {
        printf(" ");
        }
    
    for(k=1;k<=i;k++)
    {
    printf("%05d ",x);
    x=x+y;
    y=y+16;
    }
    
    printf("n");
    }
    }
return 0;
}

//end

JAVA

//www.codewindow.in
//start
import java.util.*;
public class Main
{
public static void main(String[] args)
{
    int x=6,y=22,n,i,j,k=0;
    Scanner ip=new Scanner(System.in);
    
    n=ip.nextInt();
    if(n>0 && n<=14)
    {
    for(i=1;i<=n;i++)
    {
        for(j=i;j<n;j++)
        {
        System.out.printf(" ");
        }
    
    for(k=1;k<=i;k++)
    {
    System.out.printf("%05d ",x);
    x=x+y;
    y=y+16;
    }

    System.out.printf("n");
    }
    }
}
}

//end

Python

#www.codewindow.in
#please follow the indentation as its a must in python programing

n=int(input())
x=6
y=22
if(n>0 and n<=14):
    for i in range(1,n+1):
        for j in range(i,n):
            print(" ",end="")
    
        for k in range(1,i+1):
            print("%05d"%x,end=" ")
            x=x+y
            y=y+16
        print()
        

#end

Follow Us

Also checkout