Just-Zzz Sqrt(x)


Problem Description
又做的坑坑洼洼的.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public int (int x) {
if (x == 1 || x == 0)
return x;
long begin = 0, end = x / 2 ;
while (begin + 1 < end) {
long mid = begin + (end - begin) / 2;
long mul = mid * mid;
if (mul == x)
return (int)mid;
if (mul < x)
begin = (int)mid;
else
end = (int)mid;
}
if (end * end <= x)
return (int)end;
return (int)begin;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public int (int x) {
long begin = 0, end = x;
while (begin + 1 < end) {
long mid = begin + (end - begin) / 2;
long mul = mid * mid;
if (mul == x)
return (int)mid;
if (mul < x)
begin = (int)mid;
else
end = (int)mid;
}
if (end * end <= x)
return (int)end;
return (int)begin;
}