public class Newton {//牛顿法,
public static double sqrt(double c) {
if (c < 0)
return Double.NaN;
double err = 1e-15;//误差
double t = c;
while (Math.abs(t - c / t) > err * t)//牛顿法
t = (c / t + t) / 2.0;
return t;
}
public static void main(String[] args) {
long a=System.nanoTime();
Newton.sqrt(2.0);
long b=System.nanoTime()-a;//牛顿法计算运行时间
a=System.nanoTime();
Math.sqrt(2);
long c=System.nanoTime()-a;//系统Math类的运算时间
System.out.println(b/c);//13倍啊,亲
}
}
根号2 java 牛顿法实现
最新推荐文章于 2024-08-05 03:22:20 发布