0%

牛顿迭代法

牛顿迭代法

描述


牛顿迭代公式: 称为r的n+1次近似值.


开平方


1
2
3
4
5
6
7
8
double sqrt(double x) {
double eps = 1e-12;
double t = x;
while (abs(t - x / t) > eps * t) {
t = (t + x / t) / 2.0;
}
return t;
}
double sqrt2(double x) {
  double eps = 1e-12;
  double t = x;
  double lastt;
  do {
    lastt = t;
    t = (t + x / t) / 2.0;
  } while (abs(t-lastt) > eps);
  return t;
}

开任意次方