You are given a positive integer ‘N’. You are required to print the perfect square number closest to the ‘N’ and the number of steps required to reach that number.
For Example:N = 21
The perfect square closest to 21 is 25, and the distance is 4.
The first line contains a single integer ‘T’ denoting the number of test cases to be run. Then the test cases follow.
The first line of each test case contains a positive integer ‘N’ denoting the given number.
Output Format:
For each test case, You have to return a list of two integers such that the first number denotes the closest perfect square number, and the second number denotes its distance from ‘N’.
Output for each test case will be printed in a separate line.
Note
You are not required to print anything; it has already been taken care of. Just implement the function.
1 <= T <= 50
1 <= N <= 10^9
Time Limit: 1 sec.
2
21
5
25 4
4 1
For test case one-
25 is the perfect square nearest to 21 and at a distance of 4.
For test case two-
4 is the perfect square nearest to 5 and at a distance of 1.
2
132
146
121 11
144 2
Move on both sides to get the first perfect square.
We will move in both directions, positive and negative, of ‘N’, and check if we get any perfect square.
Algorithm:
O(N^2), where ‘N’ is the given integer.
Since we are checking for every number, it is a perfect square or not. The complexity of Checking Perfect is O(N).
O(1).
Constant extra space used.