1 class Solution {
2 public:
3 int sqrt(int x) {
4 // IMPORTANT: Please reset any member data you declared, as
5 // the same Solution instance will be reused for each test case.
6 if (x<=0)
7 return 0;
8 int right = x;
9 int left = 1;
10 int middle;
11 while (left <= right){
12 middle = (left+right)/2;
13 if (x/middle==middle)
14 return middle;
15 else if (x/middle<middle)
16 right = middle - 1;
17 else left = middle +1;
18 }
19 if (x/middle<middle)
20 return middle - 1;
21 return middle;
22 }
23 };