[分治]二分计算

注意

  • 用于单调递增函数零点,单调递减改符号
  • 端点值l,r为double

使用方法

  1. 自定义 f() 函数
  2. binary_calculate(l, r); 其中 l, r 为对应区间的左右端点值

模板

double f(double x)
{
    return
}
const double eps=1e-8;
double Binary_Calculate(double l, double r)
{
    double mid;
    while(fabs(r-l)>eps)
    {
        mid=(l+r)/2;
        if (f(mid)>0)    r=mid;
        else    l=mid;
    }
}

results matching ""

    No results matching ""