# x 的平方根

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4
输出:
2

示例 2:

输入: 8
输出:
2
说明:
8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
## template ```cpp #include using namespace std; class Solution { public: int mySqrt(int x) { if (x == 0) { return 0; } unsigned int lo = 1, hi = x; unsigned int mid = (lo + hi) / 2; for (;;) { if (mid > x / mid) { hi = mid; } else { if (mid + 1 > x / (mid + 1)) { break; } else { lo = mid; } } mid = (lo + hi) / 2; } return mid; } }; ``` ## 答案 ```cpp ``` ## 选项 ### A ```cpp ``` ### B ```cpp ``` ### C ```cpp ```