利用二分法实现Sqrt()
#include<iostream>
using namespace std;
const double eps = 1e-6;
double f(double x)
{
return x*x;
}
double Calsqrt(double x)
{
double l=1,r=x,mid;
while(r-l>eps)
{
mid=(l+r)/2;
if(f(mid)>x) r=mid;
else l=mid;
}
return mid;
}
int main()
{
double n;
cin >> n;
printf("%.6f",Calsqrt(n));
return 0;
}
one joker
发布了22 篇原创文章 · 获赞 0 · 访问量 486
私信
关注