关于二分函数的实现不同造成的误差
  • 板块学术版
  • 楼主DengDuck鄧德
  • 当前回复24
  • 已保存回复24
  • 发布时间2023/2/28 16:16
  • 上次更新2023/10/23 23:31:15
查看原帖
关于二分函数的实现不同造成的误差
501947
DengDuck鄧德楼主2023/2/28 16:16
long long fd(long long x)
{
    long long l=1,r=10000000,ans;
    while(l<r)
    {
        long long mid=(l+r)/2;
        if(mid*(mid+1)/2<x)l=mid+1;
        else 
        {
            r=mid;
        }
    }
    return r;
}

long long fd(long long x)
{
    long long l=1,r=1000000,ans;
    while(l<=r)
    {
        long long mid=(l+r)/2;
        if(mid*(mid+1)/2<x)l=mid+1;
        else 
        {
            r=mid-1;
            ans=mid;
        }
    }
    return ans;
}

为什么在部分数据返回不同?

题目:P8762

2023/2/28 16:16
加载中...