Given a positive integer n, check if it is perfect square or not using only addition/subtraction operations and in minimum time complexity.
We strongly recommend you to minimize your browser and try this yourself first.
We can use the property of odd number for this purpose:
Addition of first n odd numbers is always perfect square 1 + 3 = 4, 1 + 3 + 5 = 9, 1 + 3 + 5 + 7 + 9 + 11 = 36 ...
Below is the implementation of above idea :
How does this work?
Below is explanation of above approach.
1 + 3 + 5 + ... (2n-1) = ∑(2*i - 1) where 1<=i<=n = 2*∑i - ∑1 where 1<=i<=n = 2n(n+1)/2 - n = n(n+1) - n = n2
This article is contributed by Utkarsh Trivedi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- Check if a number is perfect square without finding square root
- Check if given number is perfect square
- Check whether the number can be made perfect square after adding 1
- Check if product of array containing prime numbers is a perfect square
- Count numbers upto N which are both perfect square and perfect cube
- Perfect Square String
- Print n numbers such that their sum is a perfect square
- Largest number that is not a perfect square
- Closest perfect square and its distance
- Largest factor of a given number which is a perfect square
- Find the Next perfect square greater than a given number
- Count of pairs in an array whose sum is a perfect square
- Largest perfect square number in an Array
- Largest Divisor of a Number not divisible by a perfect square
- Smallest perfect square divisible by all elements of an array