#include
#include
double eps=10E-6;
double f (double k)//原函数方程
{
return log10(k)+k-2.0;
}
double get(double k)
{
return k-f(k)/(1+(1.0/k)*(1/log(10.0)));
}//牛顿迭代方程函数。
int main()
{
double x=5.0;
while(fabs(f(x))>eps)
{
x=get(x);
}
printf("%lf\n",x);//得到的解。
printf("%lf\n",f(x));//得到的解带入原方程验证。
return 0;
}
写了半小时。哎。很多公式都忘了。现在又重新查了一遍。