Last Updated: 25 Nov, 2020

Crazy Numbers

Easy
Asked in companies
HCL TechnologiesKellton Tech Solutions LimitedNagarro Software

Problem statement

Ninja wants to create a right-aligned triangle of numbers across N rows. The first row contains 1 number, the second contains 2, and so on. The numbers increase sequentially starting from 1 and wrap back to 1 after 9.

You are given an integer ‘N’ denoting the given number of rows. Can you print the pattern that Ninja wants to create?

Pattern for N = 4:

   1
  23
 456
7891
Input Format:
The first line contains ‘T’, denoting the number of test cases.

Each test case contains a single integer ‘N’, denoting the number of rows.
Output Format:
For each test case, print the integers denoting the required pattern in the following ‘N’ lines.
Note:
You are not required to print the expected output; it has already been taken care of. Just implement the function.
Constraints:
1 <= T <= 10
1 <= N <= 500

Time Limit: 1 sec

Approaches

01 Approach

The key here is to traverse all the lines sequentially, and for each line, we print the required character at the given index.

The steps are as follows:

  • We will define matrix ‘ans’ to store the final pattern.
  • We will initialize a variable ‘k’ to 1, which will be the starting value for the pattern.
  • We will iterate over all the rows, i.e., i = 0 to i = N - 1:
    • We will run a for loop starting from j = N - i -1 with the condition that j is less than or equal to N:
      • If k is greater than 9, we will insert the value in the matrix ‘ans’.
      • Otherwise, we will reset the value of k to 1 and then insert the value in the matrix ‘ans’.
  • We will return the matrix ‘ans’ as the final answer.