#include<iostream>
#include<cmath>
using namespace std;
double x0,x1,n;
double f_d(double x)
{
return 2*x; //求导
}
double f(double x)
{
return x*x-n; //开a的根号等于求y=x^2+a的零点
}
int main()
{
cin>>n;
x0=n/2;//起始点
x1=x0-f(x0)/f_d(x0); //迭代一次
while(abs(x0-x1)>=1e-9)
{
x0=x1;
x1=x0-f(x0)/f_d(x0);
}
cout<<floor(x1);
return 0;
}
共 1 条回复
小心被封哦~