publicint(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
publicint(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; }
近期评论