# 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:

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

 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

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.