sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
解 1: 二分查找法 (超时)
解 2: 牛顿迭代法
class Solution {
public:
/*
* @param x: An integer
* @return: The sqrt of x
*/
int sqrt(int x) {
// write your code here
if (x == 0) return 0;
double pre = 0,
res = 1;
while (pre != res) {
pre = res;
res = (res + x / res) / 2;
}
return res;
}
};
来源: http://www.bubuko.com/infodetail-2477899.html