Given a positive integer . The task is to find the perfect square number closest to N and steps required to reach this number from N.
Note: The closest perfect square to N can be either less than, equal to or greater than N and steps is referred to the difference between N and the closest perfect square.
Input: N = 1500
Output: Perfect square = 1521, Steps = 21
For N = 1500
Closest perfect square greater than N is 1521.
So steps required is 21.
Closest perfect square less than N is 1444.
So steps required is 56.
The minimum of these two is 1521 with steps 21.
Input: N = 2
Output: Perfect Square = 1, Steps = 1
For N = 2
Closest perfect square greater than N is 4.
So steps required is 2.
Closest perfect square less than N is 1.
So steps required is 1.
The minimum of these two is 1.
- If N is a perefct square then print N and steps as 0.
- Else, find the first perfect square number > N and note its difference with N.
- Then, find the first perfect square number < N and note its difference with N.
- And print the perfect square resulting in the minimum of these two differences obtained and also the difference as the minimum steps.
Below is the implementation of the above approach:
- Count numbers upto N which are both perfect square and perfect cube
- Check if a number is perfect square without finding square root
- Perfect Square String
- Check if given number is perfect square
- Print n numbers such that their sum is a perfect square
- Largest number that is not a perfect square
- Check perfect square using addition/subtraction
- Count of pairs in an array whose sum is a perfect square
- Largest perfect square number in an Array
- Largest factor of a given number which is a perfect square
- Find the Next perfect square greater than a given number
- Smallest perfect square divisible by all elements of an array
- Largest Divisor of a Number not divisible by a perfect square
- Check whether the number can be made perfect square after adding 1
- Minimum digits to remove to make a number Perfect Square
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.