Java习题之实现平方根(sqrt)函数
public class Sqrt {
// 使用牛顿迭代法计算平方根
public static double sqrt(double c) {
if (c < 0) {
throw new IllegalArgumentException("输入值必须非负");
}
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) {
// 测试代码
double number = 2;
System.out.println("平方根的估计值:" + sqrt(number));
}
}
这段代码使用了牛顿迭代法来计算平方根,迭代终止条件是计算出的近似值与真实值之差小于指定的误差界限。主函数中的测试代码用于验证计算结果。
评论已关闭