巴比伦算法是用于计算数字N的平方根的一个算法。
首先先猜一个答案guess(可以将N/2作为第一个答案),计算r = n/guess,令其结果为guess=(guess+r)/2,如果有必要的话r = n/guess和guess=(guess+r)/2重复多次。重复的次数越多,guess的值越接近N的平方根。当值为0.01的时候最为接近平方根值。
代码如下:
void main() {
double n, ga, gb, r;
cout << "巴比伦算法" << endl << "请输入要计算平方根的数字" << endl;
cin >> n;
ga = n / 2.0;//初始结果
gb = n;//将N赋值给gb
//判断值大于0.01时执行while循环
while ((gb - ga) / ga > 0.01)
{
gb = ga;
r = n / ga;
ga = (ga + r) / 2.0;
};
cout << "输出平方根结果" << ga << endl;
}
结果如下: