版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
#include<stdio.h>
#include<math.h>
int main()
{
double a,m,n;
scanf("%lf",&a);
if(a<0)printf("date error!");
m=a/2.0;
n=(m+a/m)/2.0;
/* 法一:do
{
m=n;
n=(m+a/m)/2;
}while(fabs(m-n)>pow(10,-5));*/
for(int i=0;;i++)//法二
{
n=(m+a/n)/2;
if(fabs(m-n)<pow(10,-5))break;
m=n;
}
printf("%f",n);
return 0;
}
#include<math.h>
int main()
{
double a,m,n;
scanf("%lf",&a);
if(a<0)printf("date error!");
m=a/2.0;
n=(m+a/m)/2.0;
/* 法一:do
{
m=n;
n=(m+a/m)/2;
}while(fabs(m-n)>pow(10,-5));*/
for(int i=0;;i++)//法二
{
n=(m+a/n)/2;
if(fabs(m-n)<pow(10,-5))break;
m=n;
}
printf("%f",n);
return 0;
}