公式: x1 = ( x0 + a / x0 ) / 2
解释:
1.先自定义一个初值 X0 作为 a 的平方根值 。程序中取 a / 2 作为
a的初值 。利用迭代公式求出 X1 。X1与真正的平方根误差很大。
2. 将 X1 代入X0 中,并不断迭代求出新的 X1。
3. 在不断的迭代中,X1 越来越接近于 真正平方根值。
4. 比较前后两次的 X1 ,如果差值小于预定的值就停止迭代。
代码:
int main(){
int a;
cin>>a;
double x=a/2.0;
while(1){
double temp;
if(fabs(x-temp)<1e-5){
printf("%.3f",x);
return 0;
}
else{
temp =x;
x = (x + a/x)/2.0;
}
}
return 0;
}