描述
实现 int sqrt(int x) 函数,计算并返回 x 的平方根。
样例
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
挑战
O(log(x))
* @param x: An integer
* @return: The sqrt of x
* n = t * t
* n + t * t = 2 * t * t
* (n / t) + t = 2 * t
* t = (n / t + t) / 2
*/
const sqrt = function (x) {
if (x==0) return 0;
var i=1;
while(Math.abs(x-i*i)>1.0){
i=parseInt((x/i+i)/2);
}
return i;
}
网友评论