迭代法求平方根

迭代法求平方根

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注