# Hackerrank solution: Triangle Quest 2 using Python

## Question: Triangle Quest 2 - Hacker Rank (Python)

You are given a positive integer N.
Your task is to print a palindromic triangle of size N.

For example, a palindromic triangle of size 5 is:

``````1
121
12321
1234321
123454321``````

You can’t take more than two lines. The first line (a for-statement) is already written for you.
You have to complete the code using exactly one print statement.

NOTE:

Using anything related to strings will give a score of 0.
Using more than one for-statement will give a score of 0.

Input Format:

A single line of input containing the integer N.

Constraints:

• 0 < N < 10

Output format

Print the palindromic triangle of size N as explained above.

Sample input:

``5``

Sample output:

```1
121
12321
1234321
123454321```

## Possible solutions

As you can see, we again have to use the loop and we are not allowed to have a solution in more than two lines to pass the test. So, again we will have only one possible solution to pass the test.

While running the code, make sure that you have not copied the comments.

• Using Python for loop
• Alternative solution

### Solution-1: Using For loop

We will now use the for loop to find the triangle of a number based on the above-mentioned conditions. let us start the python program. First, we will use the for loop with will iterate from 1 to a number input by the user. Then we will use a formula that will help us to build the required triangle.

``````# usig for loop which takes the input from user
for i in range(1, int(input()) + 1):

# printing the triangle of the number
print((10 ** i - 1) ** 2 // 81)``````

Input:

``5``

Output:

```1
121
12321
1234321
123454321```

As you can see, we were able to find out the required triangle using Python and our solution is also in two lines. Let us now understand how the formula is working and how it is able to print out the triangle as required in the question.

``(10 ** i - 1) ** 2 // 81``

If i == 1, we get:

``````= (10** 1 - 1) ** 2 // 81
= (9) ** 2 // 81
= 81 // 81
= 1``````

When the i == 2:

``````= ( 10 ** 2 - 1) ** 2 // 81
=  ( 99) **2 // 81
= 9801 // 81
= 121``````

When i == 3:

``````= ( 10 ** 3 -1 ) ** 2 // 81
= ( 999) **2 // 81
= 998001 // 81
= 12321``````

And so on.

Now, to pass the test on Hacker rank, it is recommended to write the code in the editor without comments because the editor reads the code up to 2 lines only as shown below: When you type code without comments you will be able to pass the test.

### Solution-2: Using different calculation

Another way to solve the question is by altering the equation and getting the same result. Let us implement in Python.

``````# using for loop
for i in range(1,int(input())+1):

# changing the formula to get the same results
print (((10**i - 1)//9)**2)``````

Input:

``5``

Output:

``````1
121
12321
1234321
123454321``````

As you can see, we get the desired result. The formula works in a similar way to the previous one. You can check it by putting values one by one as we did in the previous solution.

## Summary

In this short article, we learn how we can solve the Triangle Quest 2 question on Hacker Rank. As per requirement, we were able to solve the question within two lines of code.

## References

Didn't find what you were looking for? Perform a quick search across GoLinuxCloud

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation. For any other feedbacks or questions you can either use the comments section or contact me form.

Thank You for your support!!