题目 1021: [编程入门]迭代法求平方根
时间限制: 1Sec 内存限制: 128MB 提交: 19231 解决: 10054
题目描述
用迭代法求 平方根
公式:求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数
输入
X
输出
X的平方根
样例输入
4
样例输出
2.000
#include<iostream> //1
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{
double x,b,c;
cin>>x;
b=x/2;
while(1)
{
c=(b+x/b)/2;
if(abs(b-c)<0.00001)
{
cout<<setiosflags(ios::fixed)<<setprecision(3)<<c<<endl;
break;
}
b=c;
}
return 0;
}
#include<stdio.h> //2
int main()
{
double i=0, a, n,tian[10000],m,k=0,t;
scanf("%lf", &n);
m = n;
do
{
k = (m + n / m) / 2.0;
t = m;
m = k;
}while (t - k > 0.00001);
printf("%.3f", k);
return 0;
}