题目描述
用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。 输出保留3位小数
输入
X
输出
X的平方根
样例输入
4
样例输出
2.000 题解:这题学校oj还是测不了 姑且认为是对的吧
1 #include2 #include 3 #include 4 using namespace std; 5 float mSqrt(float n){ 6 float r=0x5f3759df; 7 while(fabs(r*r-n)>=0.00001){ 8 float t=n/r; 9 r=(t+r)/2;10 }11 return r;12 }13 int main(){14 float n;15 scanf("%f",&n);16 printf("%.3f\n",mSqrt(n));17 return 0;18 }