**欲求a的平方根,首先猜测一个值x1=a/2(也可以是随便其他什么值)作为其平方根,然后根据下面的迭代公式算出x2,再将x2代入公式右边算出x3……直到连续两次算出的xn和xn+1的差的绝对值小于某个值符号网名大全花样符号ε,即认为找到了足够精确的平方根。这个ε值取得越小,计算出来的平方根就越精确。 **
迭代公式:Xn + 1 = ( Xn +a / Xn ) / 2
#include<iostream>
using namespace std;
double EPS = 0.001;//控制计算精度
int main()
{
double a;
cin >> a;//输入a求a的平方根
if(a>=0){
double x = a/2, lastX = x + 1 + EPS; //确保能够进行至少一次迭代
while(x - lastX>EPS||lastX - x > EPS){ //只要精度未达要求就继续迭代
lastX = x;
x = (x + a/x) / 2;
}
cout << x;
}
else
cout<<"无";
return 0 ;
}