知乎
链接为知乎关于牛顿迭代法的解释,
在使用牛顿迭代法时用到了基础数学知识点斜式求方程,
求a的平方根,不妨设y=f(x)=x²-a;每一点的切线方程为f(x0)+f’(x0)(x-x0);每次求该方程的根,x=(x0+a/x0)/2;
int Mysqrt(int a){
long x=a;
while(x*x>a){//如果别的方程使用牛顿艾弗森法,需要重新改变条件
x=(x+a/x)>>1;
}
return (int)x;
}
知乎
链接为知乎关于牛顿迭代法的解释,
在使用牛顿迭代法时用到了基础数学知识点斜式求方程,
求a的平方根,不妨设y=f(x)=x²-a;每一点的切线方程为f(x0)+f’(x0)(x-x0);每次求该方程的根,x=(x0+a/x0)/2;
int Mysqrt(int a){
long x=a;
while(x*x>a){//如果别的方程使用牛顿艾弗森法,需要重新改变条件
x=(x+a/x)>>1;
}
return (int)x;
}