牛顿迭代法可以求解n次方的根,但这里只讨论用它来求平方根。
牛顿迭代法求平方根过程
Java代码实现
/**
* 求一个数的平方根
* @param number
* @return
*/
public static double squareRoot(double number){
if(number < 0){ //小于0的数无法开平方
return Double.NaN;
}else {
double err = 1e-15; //设置误差范围,当误差小于这个值时认为得到准确值
double root = number; //给平方根一个预设值
while (Math.abs(number - root * root) > err){
root = (number/root + root) / 2.0;
}
return root;
}
}