当前位置: 代码迷 >> 综合 >> 题目 1021: [编程入门]迭代法求平方根
  详细解决方案

题目 1021: [编程入门]迭代法求平方根

热度:93   发布时间:2023-12-06 05:44:26.0

牛顿迭代法_求平方根

//
题目 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;
}