求一个正整数N的开平方(牛顿迭代法)
作者:互联网
牛顿迭代法:
解法参考:这里
static double helper(int a) {
if (n < 2) return 1.0 * a;
double x0 = 1; // 先假设一个初始值
double x = x0 / 2 + a / x0 / 2; // 解, 把1-2的式子 = 右边括号展开
while (Math.abs(x - x0) > 0.001) { // 误差范围
x0 = x;
x = x0 / 2 + a / x0 / 2;
}
return x;
}
标签:开平方,return,double,牛顿,正整数,迭代法,x0 来源: https://blog.csdn.net/qq_43778308/article/details/111302731