笔试题之二


牛顿迭代公式x(n+1)=x(n)-f(x(n))/f'(x(n))
求N的平方根就是求f(x)=N-x^2=0的解
然后就是x2 = x1-(N-x1^2)/(-2x1)=x1/2.+N/2/x1

#include< iostream >
#include< math.h >
using namespace std;

int main()
{
int N;  
cout<<"输入N的值:";  
cin>>N  ;

double x1 = 1;//初值  
double x2 = x1/2.0+N/2.0/x1;  

while( fabs(x2-x1) > 0.001)  
{  
x1 = x2;  
x2 = x1/2.0+N/2.0/x1;  
}  
cout<< x1 << endl;  
return 0;
}
posted @ 2014-08-24 21:55  dreamsyeah  阅读(119)  评论(0编辑  收藏  举报