游客 Signup | Login
中文 | En

1425 - C语言-求平方根

用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。 输出保留3位小数

Input

X

Output

X的平方根

Examples

Input

4

Output

2.000

Solution C

#include<stdio.h>
#include<math.h>

int main(){
	double x1 ,x2 , a;
	scanf("%lf",&a);
	x1=1;
	x2=(1.0/2)*(x1+a/x1);
	do{
		x1=x2;
		x2=(1.0/2)*(x1+a/x1);
	}while(fabs(x2-x1)>=0.00001);
	printf("%.3lf",x2);
	
	return 0;
}

Solution C++

#include "stdio.h"
#include "math.h"

int main(int argc, char* argv[])
{
	double a,x1,x2;
	while(~scanf("%lf",&a))
	{
	  x1=a/2;
	  x2=(x1+a/x1)/2;
	  while(fabs(x2-x1)>=0.00001)
	  {
	    x1=x2;
	    x2=(x1+a/x1)/2;
	  }
	  printf("%.3lf",x2);
	}
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题