主要思路
通过牛顿迭代法计算平方根。来吧,还是看代码ba..
private static double sqrt(double c) { if (c < 0) return Double.NaN; double jingdu = 1e-15; double t = c; while (Math.abs(c - t * t) > jingdu) t = (c / t + t) / 2.0;// 迭代公式 return t; }12345678910
改进算法。。。
public static double sqrt(double m) { double i = 0; int k = 0; while ((i * i) <= m) i += 0.1; for (int j = 0; j < 10; j++) { i = (m / i + i) / 2; } return i; }12345678910