Description:
Implement int sqrt(int x).
Compute and return the square root of x, where x is guaranteed to be a non-negative integer.
Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.
Example 1:
Input: 4
Output: 2
Example 2:
Input: 8
Output: 2
Explanation:
The square root of 8 is 2.82842…, and the decimal part is truncated, 2 is returned.
题意:模拟函数Sqrt(x)的功能,求一个数的开平方(取整数);
解法:Java中函数sqrt(x)所使用的原理是“牛顿迭代法”
class Solution {
public int mySqrt(int x) {
double err = 1e-7;
double result = x;
while(Math.abs(result - x/result) > err){
result = (result + x/result)/2.0;
}
return (int)result;
}
}