牛顿法的关键在于知道哪一个才是真正的函数
- 我们需要的是 构建
$f(x)=0$
的函数
C code:
#include <stdio.h>
#include <math.h>
const double EPS = 1E-9;
double mysqrt(double s)
{
double x0 = 0.01; // the denominator should be non-zero
double f = s;
while (fabs(f) > EPS){
x0 = (x0 + s / x0) / 2;
f = s - x0 * x0;
}
return x0;
}
void main()
{
double s = 2;
scanf("%lf", &s);
printf("the root of sqrt(%lf) is %lf", s, mysqrt(s));
getchar(); getchar();
return;
}