Objective : Given an integer check whether it is a perfect square.

Example :

number = 37
Output: false
number = 49
Output: true
This is fun puzzle which is asked in the interview.
Approach :

Say number is n.
Start a loop from 1 to n/2.
During iteration, for every integer ‘i’, calculate x = i*i.
Now with this ‘x’ there are 3 possibilities.
If x == n then n is a perfect square, return true
If x > n then x has crossed the n, n is not perfect square. Return false
If above step a or b are not true then continue.
Time Complexity: O(sqrt(n))

Code : Run Code

Output :

37 is square: false
49 is square: true
__________________________________________________
Top Companies Interview Questions..-

If you find anything incorrect or you feel that there is any better approach to solve the above problem, please write comment.
__________________________________________________

Like this: Like Loading...

Related