二分法拓展

利用二分法实现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 私信 关注
上一篇:浮点数比较


下一篇:SHOI2012 信用卡凸包