巴比伦算法求平方根

1.取N的平方根的近似值sqrtValue=n/2;

2.第二次取x=n/sqrtValue,如果sqrtValue偏大则x偏小,如果sqrtValue偏小则x偏大,求二者的平均值则更加接近N的平方根,

     二者求平均即(sqrtValue+n/sqrtValue)/2

3.循环知道误差在允许范围内

注意:n/2要写成n/2.0

double Sqrt(unsigned int n)
{
 double sqrtValue=n/2.0;
 while(sqrtValue*sqrtValue-n>0.001||sqrtValue*sqrtValue-n<-0.001)
 {
  sqrtValue=(sqrtValue+n/sqrtValue)/2;
 }
 return sqrtValue;
}

你可能感兴趣的:(巴比伦算法求平方根)