Be the first user to complete this post

  • 0
Add to List

232. Check whether the given number is a perfect square

Objec­tive:  Given an integer check whether it is a perfect square.


number = 37
Output: false

number = 49
Output: true

This is a fun puzzle that is asked in the interview.

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

Time Complexity: O(sqrt(n))


37 is square: false
49 is square: true