# Check whether the given number is a perfect square

Objec­tive:  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:

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))

Code:

 public class ValidateSquare { public static boolean isSquare(int n){ if(n==0 || n==1) return true; for (int i = 0; i <=n/2 ; i++) { int x = i*i; if(x==n) return true; else if (n

view raw
ValidateSquare.java
hosted with ❤ by GitHub

Output:

```37 is square: false
49 is square: true```

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

1. How about number 1? 1 is a perfect square. The above implementation will return false.