迭代法求平方根
时间: 1ms 内存:128M
描述:
用迭代法求 。求平方根的迭代公式为: a[n+1]=1/2(a[n]+X/a[n]) 要求前后两次求出的得差的绝对值少于0.00001。输出保留3位小数
输入:
X
输出:
X的平方根
示例输入:
4
示例输出:
2.000
提示:
参考答案(内存最优[748]):
#include <stdio.h>
void prim(int n){
int i,j,a[n];
for(i=2;i<n;i++)
{ a[i]=i;
for(j=2;j<=i;j++)
{
if(j<i)
if(a[i]%j==0)
break;
if(a[i]-j==0)
printf("%d\n",a[i]);
}
}
}
main()
{
int a;
scanf("%d",&a);
prim(a);
}
参考答案(时间最优[0]):
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
float x0,x1;
int a;
cin>>a;
x0=a/2;
x1=(x0+a/x0)/2;
while(fabs(x0-x1)>=1e-5)
{
x0=x1;
x1=(x0+a/x0)/2;
}
cout<<setiosflags(ios::fixed)<<setprecision(3)<<x1<<endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。