4.用迭代法求a的平方根,求平方根的迭代公式如下所示:x(0)=1x(n+1)=1/2(x(n)+a/x(n))(n>=0)要求前后两次求出的x的差的绝对值小于0.00005。
#include <iostream>
#include <cmath>
using namespace std;
double squareRoot(int i)
{
double x=1.0;
double y=1/2.0*(x+i/x);
/**********Program**********/
while((y*y)-i>0.0000000025)
{
x=y;
y=1/2.0*(x+i/x);
}
/********** End **********/
return y;
}
int main()
{
int a;
cin>>a;
double y=squareRoot(a);
cout<<y<<endl;
return 0;
}