题解 | 求平方根
求平方根
https://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param x int整型 * @return int整型 */ //注意题目要求的数据范围,我用的unsigned long int mysqrt(unsigned long x) { unsigned long i = x / 2; unsigned long j = x; //二分法确定答案的一个大致的范围 while (1) { if (i * i > x) { j = i; i /= 2; } else { break; } } unsigned long k = i; //cout << "i=" << i << endl << "j=" << j << endl; //常规一个一个去试 for (k = i; k <= j; k++) { if (k * k <= x && (k + 1) * (k + 1) > x) { break; } } return k; } };