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 fun puzzle which is asked in the interview.

  1. Say 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, n is not perfect square. Return false
    3. If above step a or b are not true then continue.

Time Complexity: O(sqrt(n))



37 is square: false
49 is square: true

1 thought on “Check whether the given number is a perfect square”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.