牛顿迭代法可以求解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; } }