//
题目 1021: [编程入门]迭代法求平方根
时间限制: 1Sec 内存限制: 128MB 提交: 21198 解决: 10922
题目描述
用迭代法求 平方根
公式:求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数
输入
X
输出
X的平方根
样例输入
4
样例输出
2.000
//
#include<bits/stdc++.h>
using namespace std;
const double error=1e-5;
// b*b == a
double my_sqrt( double a )
{
double b=a/2;
while( fabs(a-b*b)>error )
{
b=( a/b+b )/2;
}
return b;
}
int main()
{
double a;
while( ~scanf("%lf",&a) )
{
printf("%.3lf\n",my_sqrt(a));
}
return 0;
}